summaryrefslogtreecommitdiffstats
path: root/src/MCLogger.h
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2013-11-27 22:35:13 +0100
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2013-11-27 22:35:13 +0100
commita6630d32394120a78af56bc612fa3c3449283248 (patch)
tree2c791266b0f213cd56961299da8d2258b8f85d8e /src/MCLogger.h
parentFixed spawn point being generally in an ocean (diff)
parentVoronoi-related biomegens use the new cVoronoiMap class. (diff)
downloadcuberite-a6630d32394120a78af56bc612fa3c3449283248.tar
cuberite-a6630d32394120a78af56bc612fa3c3449283248.tar.gz
cuberite-a6630d32394120a78af56bc612fa3c3449283248.tar.bz2
cuberite-a6630d32394120a78af56bc612fa3c3449283248.tar.lz
cuberite-a6630d32394120a78af56bc612fa3c3449283248.tar.xz
cuberite-a6630d32394120a78af56bc612fa3c3449283248.tar.zst
cuberite-a6630d32394120a78af56bc612fa3c3449283248.zip
Diffstat (limited to 'src/MCLogger.h')
-rw-r--r--src/MCLogger.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/MCLogger.h b/src/MCLogger.h
new file mode 100644
index 000000000..c949a4cdf
--- /dev/null
+++ b/src/MCLogger.h
@@ -0,0 +1,84 @@
+
+#pragma once
+
+
+
+
+class cLog;
+
+
+
+
+
+class cMCLogger // tolua_export
+{ // tolua_export
+public: // tolua_export
+ /// Creates a logger with the default filename, "logs/LOG_<timestamp>.log"
+ cMCLogger(void);
+
+ /// Creates a logger with the specified filename inside "logs" folder
+ cMCLogger(const AString & a_FileName); // tolua_export
+
+ ~cMCLogger(); // tolua_export
+
+ void Log(const char* a_Format, va_list a_ArgList);
+ void Info(const char* a_Format, va_list a_ArgList);
+ void Warn(const char* a_Format, va_list a_ArgList);
+ void Error(const char* a_Format, va_list a_ArgList);
+
+ void LogSimple(const char* a_Text, int a_LogType = 0 ); // tolua_export
+
+ static cMCLogger* GetInstance();
+private:
+ enum eColorScheme
+ {
+ csRegular,
+ csInfo,
+ csWarning,
+ csError,
+ } ;
+
+ cCriticalSection m_CriticalSection;
+ cLog * m_Log;
+ static cMCLogger * s_MCLogger;
+
+
+ /// Sets the specified color scheme in the terminal (TODO: if coloring available)
+ void SetColor(eColorScheme a_Scheme);
+
+ /// Resets the color back to whatever is the default in the terminal
+ void ResetColor(void);
+
+ /// Common initialization for all constructors, creates a logfile with the specified name and assigns s_MCLogger to this
+ void InitLog(const AString & a_FileName);
+}; // tolua_export
+
+
+
+
+
+extern void LOG(const char* a_Format, ...);
+extern void LOGINFO(const char* a_Format, ...);
+extern void LOGWARN(const char* a_Format, ...);
+extern void LOGERROR(const char* a_Format, ...);
+
+
+
+
+
+// In debug builds, translate LOGD to LOG, otherwise leave it out altogether:
+#ifdef _DEBUG
+ #define LOGD LOG
+#else
+ #define LOGD(...)
+#endif // _DEBUG
+
+
+
+
+
+#define LOGWARNING LOGWARN
+
+
+
+