diff options
-rw-r--r-- | src/game/ChatHandler.cpp | 8 | ||||
-rw-r--r-- | src/game/World.cpp | 5 | ||||
-rw-r--r-- | src/game/World.h | 1 | ||||
-rw-r--r-- | src/shared/Log.cpp | 9 | ||||
-rw-r--r-- | src/shared/Log.h | 24 | ||||
-rw-r--r-- | src/trinitycore/trinitycore.conf.dist | 22 |
6 files changed, 44 insertions, 25 deletions
diff --git a/src/game/ChatHandler.cpp b/src/game/ChatHandler.cpp index d8c831448f5..12456472505 100644 --- a/src/game/ChatHandler.cpp +++ b/src/game/ChatHandler.cpp @@ -436,6 +436,10 @@ void WorldSession::HandleMessagechatOpcode( WorldPacket & recv_data ) WorldPacket data; ChatHandler::FillMessageData(&data, this, CHAT_MSG_BATTLEGROUND, lang, "", 0, msg.c_str(),NULL); group->BroadcastPacket(&data, false); + + if(sWorld.getConfig(CONFIG_CHATLOG_BGROUND)) + sLog.outChat("[BATTLEGROUND] Player %s tells battleground with leader %s: %s", + GetPlayer()->GetName(), group->GetLeaderName(), msg.c_str()); } break; case CHAT_MSG_BATTLEGROUND_LEADER: @@ -458,6 +462,10 @@ void WorldSession::HandleMessagechatOpcode( WorldPacket & recv_data ) WorldPacket data; ChatHandler::FillMessageData(&data, this, CHAT_MSG_BATTLEGROUND_LEADER, lang, "", 0, msg.c_str(),NULL); group->BroadcastPacket(&data, false); + + if(sWorld.getConfig(CONFIG_CHATLOG_BGROUND)) + sLog.outChat("[RAID] Leader player %s tells battleground: %s", + GetPlayer()->GetName(), msg.c_str()); } break; case CHAT_MSG_CHANNEL: diff --git a/src/game/World.cpp b/src/game/World.cpp index 79f3c15201d..e84a6cbaddc 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -835,7 +835,7 @@ void World::LoadConfigSettings(bool reload) m_configs[CONFIG_LOGDB_CLEARINTERVAL] = sConfig.GetIntDefault("LogDB.Opt.ClearInterval", 10); if(int32(m_configs[CONFIG_LOGDB_CLEARINTERVAL]) <= 0) { - sLog.outError("LogDB.Opt.ClearInternval (%i) must be > 0, set to default 10.", m_configs[CONFIG_LOGDB_CLEARINTERVAL]); + sLog.outError("LogDB.Opt.ClearInterval (%i) must be > 0, set to default 10.", m_configs[CONFIG_LOGDB_CLEARINTERVAL]); m_configs[CONFIG_LOGDB_CLEARINTERVAL] = 10; } if(reload) @@ -1111,6 +1111,7 @@ void World::LoadConfigSettings(bool reload) m_configs[CONFIG_CHATLOG_GUILD] = sConfig.GetBoolDefault("ChatLogs.Guild", false); m_configs[CONFIG_CHATLOG_PUBLIC] = sConfig.GetBoolDefault("ChatLogs.Public", false); m_configs[CONFIG_CHATLOG_ADDON] = sConfig.GetBoolDefault("ChatLogs.Addon", false); + m_configs[CONFIG_CHATLOG_BGROUND] = sConfig.GetBoolDefault("ChatLogs.BattleGround", false); } /// Initialize the World @@ -1721,7 +1722,7 @@ void World::Update(uint32 diff) uint32 maxClientsNum = sWorld.GetMaxActiveSessionCount(); m_timers[WUPDATE_CLEANDB].Reset(); - LoginDatabase.PExecute("DELETE FROM logs WHERE (time + %u) < %u;", + LoginDatabase.PExecute("DELETE FROM logs WHERE (time + %u) < "I64FMTD";", sWorld.getConfig(CONFIG_LOGDB_CLEARTIME), uint64(time(0))); } } diff --git a/src/game/World.h b/src/game/World.h index c6ec223ba54..7ab378b8927 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -225,6 +225,7 @@ enum WorldConfigs CONFIG_CHATLOG_GUILD, CONFIG_CHATLOG_PUBLIC, CONFIG_CHATLOG_ADDON, + CONFIG_CHATLOG_BGROUND, CONFIG_LOGDB_CLEARINTERVAL, CONFIG_LOGDB_CLEARTIME, CONFIG_VALUE_COUNT diff --git a/src/shared/Log.cpp b/src/shared/Log.cpp index e79ea12933d..2603069a461 100644 --- a/src/shared/Log.cpp +++ b/src/shared/Log.cpp @@ -91,12 +91,15 @@ void Log::SetDBLogLevel(char *Level) void Log::Initialize() { - /// Check whether we'll log GM commands/RA events/character outputs + /// Check whether we'll log GM commands/RA events/character outputs/chat stuffs m_dbChar = sConfig.GetBoolDefault("LogDB.Char", false); m_dbRA = sConfig.GetBoolDefault("LogDB.RA", false); m_dbGM = sConfig.GetBoolDefault("LogDB.GM", false); m_dbChat = sConfig.GetBoolDefault("LogDB.Chat", false); + /// Realm must be 0 by default + SetRealmID(0); + /// Common log files data m_logsDir = sConfig.GetStringDefault("LogsDir",""); if(!m_logsDir.empty()) @@ -337,9 +340,9 @@ std::string Log::GetTimestampStr() return std::string(buf); } -void Log::outDB( uint8 type, const char * str, ... ) +void Log::outDB( uint32 type, const char * str, ... ) { - if(!type) + if(type >= MAX_LOG_TYPES) return; if(!str) diff --git a/src/shared/Log.h b/src/shared/Log.h index 78261470174..6ef7f64289e 100644 --- a/src/shared/Log.h +++ b/src/shared/Log.h @@ -95,20 +95,20 @@ class Log : public Trinity::Singleton<Log, Trinity::ClassLevelLockable<Log, ZThr void SetColor(bool stdout_stream, ColorTypes color); void ResetColor(bool stdout_stream); - void outDB( uint8 type, const char * str, ... ) ATTR_PRINTF(3,4); - void outString( const char * str, ... ) ATTR_PRINTF(2,3); + void outDB( uint32 type, const char * str, ... ) ATTR_PRINTF(3,4); + void outString( const char * str, ... ) ATTR_PRINTF(2,3); void outString( ); - 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 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 outRemote( const char * str, ... ) ATTR_PRINTF(2,3); + void outChat( 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); diff --git a/src/trinitycore/trinitycore.conf.dist b/src/trinitycore/trinitycore.conf.dist index dd09409d7a6..6a80ca9075f 100644 --- a/src/trinitycore/trinitycore.conf.dist +++ b/src/trinitycore/trinitycore.conf.dist @@ -381,6 +381,11 @@ AddonChannel = 1 # Default: 0 - off # 1 - on # +# ChatLogs.BattleGround +# Enable logging battleground chats. +# Default: 0 - off +# 1 - on +# ################################################################################################################### LogSQL = 1 @@ -411,14 +416,15 @@ LogDB.GM = 0 LogDB.RA = 0 LogDB.World = 0 LogDB.Chat = 0 -ChatLogs.Channel = 0 -ChatLogs.SysChan = 0 -ChatLogs.Whisper = 0 -ChatLogs.Party = 0 -ChatLogs.Raid = 0 -ChatLogs.Guild = 0 -ChatLogs.Public = 0 -ChatLogs.Addon = 0 +ChatLogs.Channel = 0 +ChatLogs.SysChan = 0 +ChatLogs.Whisper = 0 +ChatLogs.Party = 0 +ChatLogs.Raid = 0 +ChatLogs.Guild = 0 +ChatLogs.Public = 0 +ChatLogs.Addon = 0 +ChatLogs.BattleGround = 0 ################################################################################################################### # SERVER SETTINGS |