/* * This is the source code of tgnet library v. 1.0 * It is licensed under GNU GPL v. 2 or later. * You should have received a copy of the license in this archive (see LICENSE). * * Copyright Nikolai Kudashov, 2015. */ #include #include #include #include "FileLog.h" #ifdef ANDROID #include #endif FILE *logFile = nullptr; void FileLog::init(std::string path) { logFile = fopen(path.c_str(), "w"); } void FileLog::e(const char *message, ...) { va_list argptr; va_start(argptr, message); time_t t = time(0); struct tm *now = localtime(&t); #ifdef ANDROID __android_log_vprint(ANDROID_LOG_ERROR, "tgnet", message, argptr); #else printf("%d-%d %02d:%02d:%02d error: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vprintf(message, argptr); printf("\n"); fflush(stdout); #endif if (logFile) { fprintf(logFile, "%d-%d %02d:%02d:%02d error: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vfprintf(logFile, message, argptr); fprintf(logFile, "\n"); fflush(logFile); } va_end(argptr); } void FileLog::w(const char *message, ...) { va_list argptr; va_start(argptr, message); time_t t = time(0); struct tm *now = localtime(&t); #ifdef ANDROID __android_log_vprint(ANDROID_LOG_WARN, "tgnet", message, argptr); #else printf("%d-%d %02d:%02d:%02d warning: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vprintf(message, argptr); printf("\n"); fflush(stdout); #endif if (logFile) { fprintf(logFile, "%d-%d %02d:%02d:%02d warning: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vfprintf(logFile, message, argptr); fprintf(logFile, "\n"); fflush(logFile); } va_end(argptr); } void FileLog::d(const char *message, ...) { va_list argptr; va_start(argptr, message); time_t t = time(0); struct tm *now = localtime(&t); #ifdef ANDROID __android_log_vprint(ANDROID_LOG_DEBUG, "tgnet", message, argptr); #else printf("%d-%d %02d:%02d:%02d debug: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vprintf(message, argptr); printf("\n"); fflush(stdout); #endif if (logFile) { fprintf(logFile, "%d-%d %02d:%02d:%02d debug: ", now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec); vfprintf(logFile, message, argptr); fprintf(logFile, "\n"); fflush(logFile); } va_end(argptr); }