diff options
Diffstat (limited to 'src/shared/Log.h')
-rw-r--r-- | src/shared/Log.h | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/src/shared/Log.h b/src/shared/Log.h deleted file mode 100644 index deb6c55e4e0..00000000000 --- a/src/shared/Log.h +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> - * - * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef TRINITYCORE_LOG_H -#define TRINITYCORE_LOG_H - -#include "Common.h" -#include "Policies/Singleton.h" -#include "Database/DatabaseEnv.h" - -class Config; - -enum LogFilters -{ - LOG_FILTER_TRANSPORT_MOVES = 1, - LOG_FILTER_CREATURE_MOVES = 2, - LOG_FILTER_VISIBILITY_CHANGES = 4, - LOG_FILTER_ACHIEVEMENT_UPDATES = 8 -}; - -enum LogTypes -{ - LOG_TYPE_STRING = 0, - LOG_TYPE_ERROR = 1, - LOG_TYPE_BASIC = 2, - LOG_TYPE_DETAIL = 3, - LOG_TYPE_DEBUG = 4, - LOG_TYPE_CHAR = 5, - LOG_TYPE_WORLD = 6, - LOG_TYPE_RA = 7, - LOG_TYPE_GM = 8, - LOG_TYPE_CRASH = 9, - LOG_TYPE_CHAT = 10, - MAX_LOG_TYPES -}; - -enum LogLevel -{ - LOGL_NORMAL = 0, - LOGL_BASIC, - LOGL_DETAIL, - LOGL_DEBUG -}; - -const int LogLevels = int(LOGL_DEBUG)+1; - -enum ColorTypes -{ - BLACK, - RED, - GREEN, - BROWN, - BLUE, - MAGENTA, - CYAN, - GREY, - YELLOW, - LRED, - LGREEN, - LBLUE, - LMAGENTA, - LCYAN, - WHITE -}; - -const int Colors = int(WHITE)+1; - -class Log : public Trinity::Singleton<Log, Trinity::ClassLevelLockable<Log, ACE_Thread_Mutex> > -{ - friend class Trinity::OperatorNew<Log>; - Log(); - ~Log(); - - public: - void Initialize(); - - void InitColors(const std::string& init_str); - void SetColor(bool stdout_stream, ColorTypes color); - void ResetColor(bool stdout_stream); - - void outDB( LogTypes type, const char * str ); - void outString( const char * str, ... ) ATTR_PRINTF(2,3); - void outString( ); - void outStringInLine( const char * str, ... ) ATTR_PRINTF(2,3); - void outError( const char * err, ... ) ATTR_PRINTF(2,3); - void outCrash( const char * err, ... ) ATTR_PRINTF(2,3); - void outBasic( const char * str, ... ) ATTR_PRINTF(2,3); - void outDetail( const char * str, ... ) ATTR_PRINTF(2,3); - void outDebug( const char * str, ... ) ATTR_PRINTF(2,3); - void outDebugInLine( const char * str, ... ) ATTR_PRINTF(2,3); - void outErrorDb( const char * str, ... ) ATTR_PRINTF(2,3); - void outChar( const char * str, ... ) ATTR_PRINTF(2,3); - void outCommand( uint32 account, const char * str, ...) ATTR_PRINTF(3,4); - void outRemote( const char * str, ... ) ATTR_PRINTF(2,3); - void outChat( const char * str, ... ) ATTR_PRINTF(2,3); - void outArena( const char * str, ... ) ATTR_PRINTF(2,3); - void outCharDump( const char * str, uint32 account_id, uint32 guid, const char * name ); - - static void outTimestamp(FILE* file); - static std::string GetTimestampStr(); - - void SetLogLevel(char * Level); - void SetLogFileLevel(char * Level); - void SetDBLogLevel(char * Level); - void SetRealmID(uint32 id) { realm = id; } - - uint32 getLogFilter() const { return m_logFilter; } - bool IsOutDebug() const { return m_logLevel > 2 || (m_logFileLevel > 2 && logfile); } - bool IsOutCharDump() const { return m_charLog_Dump; } - - bool GetLogDB() { return m_enableLogDB; } - bool GetLogDBLater() { return m_enableLogDBLater; } - void SetLogDB(bool enable) { m_enableLogDB = enable; } - void SetLogDBLater(bool value) { m_enableLogDBLater = value; } - private: - FILE* openLogFile(char const* configFileName,char const* configTimeStampFlag, char const* mode); - FILE* openGmlogPerAccount(uint32 account); - - FILE* raLogfile; - FILE* logfile; - FILE* gmLogfile; - FILE* charLogfile; - FILE* dberLogfile; - FILE* chatLogfile; - FILE* arenaLogFile; - - // cache values for after initilization use (like gm log per account case) - std::string m_logsDir; - std::string m_logsTimestamp; - - // gm log control - bool m_gmlog_per_account; - std::string m_gmlog_filename_format; - - bool m_enableLogDBLater; - bool m_enableLogDB; - uint32 realm; - - // log coloring - bool m_colored; - ColorTypes m_colors[4]; - - // log levels: - // 0 minimum/string, 1 basic/error, 2 detail, 3 full/debug - uint8 m_dbLogLevel; - uint8 m_logLevel; - uint8 m_logFileLevel; - uint8 m_logFilter; - bool m_dbChar; - bool m_dbRA; - bool m_dbGM; - bool m_dbChat; - bool m_charLog_Dump; - bool m_charLog_Dump_Separate; - std::string m_dumpsDir; -}; - -#define sLog Trinity::Singleton<Log>::Instance() - -#ifdef TRINITY_DEBUG -#define DEBUG_LOG Trinity::Singleton<Log>::Instance().outDebug -#else -#define DEBUG_LOG -#endif - -// primary for script library -void outstring_log(const char * str, ...) ATTR_PRINTF(1,2); -void detail_log(const char * str, ...) ATTR_PRINTF(1,2); -void debug_log(const char * str, ...) ATTR_PRINTF(1,2); -void error_log(const char * str, ...) ATTR_PRINTF(1,2); -void error_db_log(const char * str, ...) ATTR_PRINTF(1,2); -#endif - |