2323
2424#include " app/src/assert.h"
2525#include " app/src/include/firebase/internal/mutex.h"
26+ #include " app/src/include/firebase/internal/platform.h"
2627
2728#if !defined(FIREBASE_LOG_DEBUG)
2829#define FIREBASE_LOG_DEBUG 0
@@ -86,6 +87,8 @@ static void DefaultLogCallback(LogLevel log_level, const char* message,
8687// Log a message to a log file.
8788static void LogToFile (LogLevel log_level, const char * format, va_list args) {
8889#define FIREBASE_LOG_FILENAME " firebase.log"
90+ // Wide string version for Windows.
91+ #define FIREBASE_LOG_FILENAME_W L" firebase.log"
8992 static FILE* log_file = nullptr ;
9093 static bool attempted_to_open_log_file = false ;
9194 static const char * kLogLevelToPrefixString [] = {
@@ -109,7 +112,11 @@ static void LogToFile(LogLevel log_level, const char* format, va_list args) {
109112 } else {
110113 MutexLock lock (*g_log_mutex);
111114 if (!log_file) {
115+ #if FIREBASE_PLATFORM_WINDOWS
116+ log_file = _wfopen (FIREBASE_LOG_FILENAME_W, L" wt" );
117+ #else
112118 log_file = fopen (FIREBASE_LOG_FILENAME, " wt" );
119+ #endif
113120 if (!log_file) {
114121 g_log_callback (kLogLevelError ,
115122 " Unable to open log file " FIREBASE_LOG_FILENAME,
0 commit comments