Fixed Tools to work with new logging framework
This commit is contained in:
parent
bf0050e066
commit
be780b380e
|
@ -39,14 +39,12 @@ set_exe_flags()
|
||||||
set(SHARED_SRC
|
set(SHARED_SRC
|
||||||
../../src/StringCompression.cpp
|
../../src/StringCompression.cpp
|
||||||
../../src/StringUtils.cpp
|
../../src/StringUtils.cpp
|
||||||
../../src/Log.cpp
|
../../src/Listeners.cpp
|
||||||
../../src/MCLogger.cpp
|
../../src/LogDispacher.cpp
|
||||||
)
|
)
|
||||||
set(SHARED_HDR
|
set(SHARED_HDR
|
||||||
../../src/ByteBuffer.h
|
../../src/ByteBuffer.h
|
||||||
../../src/StringUtils.h
|
../../src/StringUtils.h
|
||||||
../../src/Log.h
|
|
||||||
../../src/MCLogger.h
|
|
||||||
)
|
)
|
||||||
flatten_files(SHARED_SRC)
|
flatten_files(SHARED_SRC)
|
||||||
flatten_files(SHARED_HDR)
|
flatten_files(SHARED_HDR)
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
|
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "MCADefrag.h"
|
#include "MCADefrag.h"
|
||||||
#include "MCLogger.h"
|
#include "LogDispacher.h"
|
||||||
|
#include "Listeners.h"
|
||||||
#include "zlib/zlib.h"
|
#include "zlib/zlib.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,7 +22,13 @@ static const Byte g_Zeroes[4096] = {0};
|
||||||
|
|
||||||
int main(int argc, char ** argv)
|
int main(int argc, char ** argv)
|
||||||
{
|
{
|
||||||
new cMCLogger(Printf("Defrag_%08x.log", time(NULL)));
|
Logger::cLoggerListener * consoleLogListener = Logger::MakeConsoleListener();
|
||||||
|
Logger::cLoggerListener * fileLogListener = new Logger::cFileListener();
|
||||||
|
Logger::GetInstance().AttachListener(consoleLogListener);
|
||||||
|
Logger::GetInstance().AttachListener(fileLogListener);
|
||||||
|
|
||||||
|
Logger::InitiateMultithreading();
|
||||||
|
|
||||||
cMCADefrag Defrag;
|
cMCADefrag Defrag;
|
||||||
if (!Defrag.Init(argc, argv))
|
if (!Defrag.Init(argc, argv))
|
||||||
{
|
{
|
||||||
|
@ -30,6 +37,11 @@ int main(int argc, char ** argv)
|
||||||
|
|
||||||
Defrag.Run();
|
Defrag.Run();
|
||||||
|
|
||||||
|
Logger::GetInstance().DetachListener(consoleLogListener);
|
||||||
|
delete consoleLogListener;
|
||||||
|
Logger::GetInstance().DetachListener(fileLogListener);
|
||||||
|
delete fileLogListener;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,20 +34,18 @@ set_exe_flags()
|
||||||
set(SHARED_SRC
|
set(SHARED_SRC
|
||||||
../../src/ByteBuffer.cpp
|
../../src/ByteBuffer.cpp
|
||||||
../../src/StringUtils.cpp
|
../../src/StringUtils.cpp
|
||||||
../../src/Log.cpp
|
|
||||||
../../src/MCLogger.cpp
|
|
||||||
../../src/PolarSSL++/AesCfb128Decryptor.cpp
|
../../src/PolarSSL++/AesCfb128Decryptor.cpp
|
||||||
../../src/PolarSSL++/AesCfb128Encryptor.cpp
|
../../src/PolarSSL++/AesCfb128Encryptor.cpp
|
||||||
../../src/PolarSSL++/CryptoKey.cpp
|
../../src/PolarSSL++/CryptoKey.cpp
|
||||||
../../src/PolarSSL++/CtrDrbgContext.cpp
|
../../src/PolarSSL++/CtrDrbgContext.cpp
|
||||||
../../src/PolarSSL++/EntropyContext.cpp
|
../../src/PolarSSL++/EntropyContext.cpp
|
||||||
../../src/PolarSSL++/RsaPrivateKey.cpp
|
../../src/PolarSSL++/RsaPrivateKey.cpp
|
||||||
|
../../src/Listeners.cpp
|
||||||
|
../../src/LogDispacher.cpp
|
||||||
)
|
)
|
||||||
set(SHARED_HDR
|
set(SHARED_HDR
|
||||||
../../src/ByteBuffer.h
|
../../src/ByteBuffer.h
|
||||||
../../src/StringUtils.h
|
../../src/StringUtils.h
|
||||||
../../src/Log.h
|
|
||||||
../../src/MCLogger.h
|
|
||||||
../../src/PolarSSL++/AesCfb128Decryptor.h
|
../../src/PolarSSL++/AesCfb128Decryptor.h
|
||||||
../../src/PolarSSL++/AesCfb128Encryptor.h
|
../../src/PolarSSL++/AesCfb128Encryptor.h
|
||||||
../../src/PolarSSL++/CryptoKey.h
|
../../src/PolarSSL++/CryptoKey.h
|
||||||
|
|
|
@ -43,7 +43,6 @@ SET (SRCS
|
||||||
LineBlockTracer.cpp
|
LineBlockTracer.cpp
|
||||||
LinearInterpolation.cpp
|
LinearInterpolation.cpp
|
||||||
Listeners.cpp
|
Listeners.cpp
|
||||||
Log.cpp
|
|
||||||
LogDispacher.cpp
|
LogDispacher.cpp
|
||||||
Map.cpp
|
Map.cpp
|
||||||
MapManager.cpp
|
MapManager.cpp
|
||||||
|
@ -109,7 +108,6 @@ SET (HDRS
|
||||||
LineBlockTracer.h
|
LineBlockTracer.h
|
||||||
LinearInterpolation.h
|
LinearInterpolation.h
|
||||||
LinearUpscale.h
|
LinearUpscale.h
|
||||||
Log.h
|
|
||||||
LogDispacher.h
|
LogDispacher.h
|
||||||
Map.h
|
Map.h
|
||||||
MapManager.h
|
MapManager.h
|
||||||
|
|
169
src/Log.cpp
169
src/Log.cpp
|
@ -1,169 +0,0 @@
|
||||||
|
|
||||||
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
|
||||||
|
|
||||||
#include "Log.h"
|
|
||||||
|
|
||||||
#include <fstream>
|
|
||||||
#include <ctime>
|
|
||||||
#include "OSSupport/IsThread.h"
|
|
||||||
|
|
||||||
#if defined(ANDROID_NDK)
|
|
||||||
#include <android/log.h>
|
|
||||||
#include "ToJava.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cLog* cLog::s_Log = NULL;
|
|
||||||
|
|
||||||
cLog::cLog(const AString & a_FileName)
|
|
||||||
: m_File(NULL)
|
|
||||||
{
|
|
||||||
s_Log = this;
|
|
||||||
|
|
||||||
// create logs directory
|
|
||||||
cFile::CreateFolder(FILE_IO_PREFIX + AString("logs"));
|
|
||||||
|
|
||||||
OpenLog((FILE_IO_PREFIX + AString("logs/") + a_FileName).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cLog::~cLog()
|
|
||||||
{
|
|
||||||
CloseLog();
|
|
||||||
s_Log = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cLog * cLog::GetInstance()
|
|
||||||
{
|
|
||||||
if (s_Log != NULL)
|
|
||||||
{
|
|
||||||
return s_Log;
|
|
||||||
}
|
|
||||||
|
|
||||||
new cLog("log.txt");
|
|
||||||
return s_Log;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::CloseLog()
|
|
||||||
{
|
|
||||||
if (m_File)
|
|
||||||
fclose (m_File);
|
|
||||||
m_File = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::OpenLog( const char* a_FileName)
|
|
||||||
{
|
|
||||||
if (m_File) fclose (m_File);
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
fopen_s( &m_File, a_FileName, "a+");
|
|
||||||
#else
|
|
||||||
m_File = fopen(a_FileName, "a+");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::ClearLog()
|
|
||||||
{
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
if (fopen_s( &m_File, "log.txt", "w") == 0)
|
|
||||||
fclose (m_File);
|
|
||||||
#else
|
|
||||||
m_File = fopen("log.txt", "w");
|
|
||||||
if (m_File)
|
|
||||||
fclose (m_File);
|
|
||||||
#endif
|
|
||||||
m_File = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::Log(const char * a_Format, va_list argList)
|
|
||||||
{
|
|
||||||
AString Message;
|
|
||||||
AppendVPrintf(Message, a_Format, argList);
|
|
||||||
|
|
||||||
time_t rawtime;
|
|
||||||
time ( &rawtime);
|
|
||||||
|
|
||||||
struct tm* timeinfo;
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
struct tm timeinforeal;
|
|
||||||
timeinfo = &timeinforeal;
|
|
||||||
localtime_s(timeinfo, &rawtime);
|
|
||||||
#else
|
|
||||||
timeinfo = localtime( &rawtime);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
AString Line;
|
|
||||||
#ifdef _DEBUG
|
|
||||||
Printf(Line, "[%04lx|%02d:%02d:%02d] %s", cIsThread::GetCurrentID(), timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec, Message.c_str());
|
|
||||||
#else
|
|
||||||
Printf(Line, "[%02d:%02d:%02d] %s", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec, Message.c_str());
|
|
||||||
#endif
|
|
||||||
if (m_File)
|
|
||||||
{
|
|
||||||
fprintf(m_File, "%s\n", Line.c_str());
|
|
||||||
fflush(m_File);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Print to console:
|
|
||||||
#if defined(ANDROID_NDK)
|
|
||||||
// __android_log_vprint(ANDROID_LOG_ERROR, "MCServer", a_Format, argList);
|
|
||||||
__android_log_print(ANDROID_LOG_ERROR, "MCServer", "%s", Line.c_str());
|
|
||||||
// CallJavaFunction_Void_String(g_JavaThread, "AddToLog", Line);
|
|
||||||
#else
|
|
||||||
printf("%s", Line.c_str());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined (_WIN32) && defined(_DEBUG)
|
|
||||||
// In a Windows Debug build, output the log to debug console as well:
|
|
||||||
OutputDebugStringA((Line + "\n").c_str());
|
|
||||||
#endif // _WIN32
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::Log(const char * a_Format, ...)
|
|
||||||
{
|
|
||||||
va_list argList;
|
|
||||||
va_start(argList, a_Format);
|
|
||||||
Log(a_Format, argList);
|
|
||||||
va_end(argList);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cLog::SimpleLog(const char * a_String)
|
|
||||||
{
|
|
||||||
Log("%s", a_String);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
30
src/Log.h
30
src/Log.h
|
@ -1,30 +0,0 @@
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cLog
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
FILE * m_File;
|
|
||||||
static cLog * s_Log;
|
|
||||||
|
|
||||||
public:
|
|
||||||
cLog(const AString & a_FileName);
|
|
||||||
~cLog();
|
|
||||||
void Log(const char * a_Format, va_list argList) FORMATSTRING(2, 0);
|
|
||||||
void Log(const char * a_Format, ...) FORMATSTRING(2, 3);
|
|
||||||
// tolua_begin
|
|
||||||
void SimpleLog(const char * a_String);
|
|
||||||
void OpenLog(const char * a_FileName);
|
|
||||||
void CloseLog();
|
|
||||||
void ClearLog();
|
|
||||||
static cLog* GetInstance();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
||||||
|
|
||||||
#include "Log.h"
|
|
||||||
#include "OSSupport/IsThread.h"
|
#include "OSSupport/IsThread.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cLog;
|
|
||||||
|
|
||||||
|
|
||||||
namespace Logger
|
namespace Logger
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user