+#endif // wxUSE_UTF8_LOCALE_ONLY
+
+#if wxUSE_UNICODE_UTF8
+void wxDoLogGenericUtf8(wxLogLevel level, const char *format, ...)
+{
+ va_list argptr;
+ va_start(argptr, format);
+ wxVLogGeneric(level, format, argptr);
+ va_end(argptr);
+}
+#endif // wxUSE_UNICODE_UTF8
+
+#if !wxUSE_UTF8_LOCALE_ONLY
+ #define IMPLEMENT_LOG_FUNCTION_WCHAR(level) \
+ void wxDoLog##level##Wchar(const wxChar *format, ...) \
+ { \
+ va_list argptr; \
+ va_start(argptr, format); \
+ wxVLog##level(format, argptr); \
+ va_end(argptr); \
+ }
+#else
+ #define IMPLEMENT_LOG_FUNCTION_WCHAR(level)
+#endif
+
+#if wxUSE_UNICODE_UTF8
+ #define IMPLEMENT_LOG_FUNCTION_UTF8(level) \
+ void wxDoLog##level##Utf8(const char *format, ...) \
+ { \
+ va_list argptr; \
+ va_start(argptr, format); \
+ wxVLog##level(format, argptr); \
+ va_end(argptr); \
+ }
+#else
+ #define IMPLEMENT_LOG_FUNCTION_UTF8(level)
+#endif