#include "PacketLog.h"
◆ PacketLog()
62{
64}
FILE * _file
Definition PacketLog.h:49
std::once_flag _initializeFlag
Definition PacketLog.h:39
void Initialize()
Definition PacketLog.cpp:82
References _initializeFlag, and Initialize().
◆ ~PacketLog()
PacketLog::~PacketLog |
( |
| ) |
|
|
private |
◆ CanLogPacket()
bool PacketLog::CanLogPacket |
( |
| ) |
const |
|
inline |
◆ Initialize()
void PacketLog::Initialize |
( |
| ) |
|
83{
84 std::string logsDir =
sConfigMgr->GetOption<std::string>(
"LogsDir",
"");
85
86 if (!logsDir.empty() && (logsDir.at(logsDir.length() - 1) != '/') && (logsDir.at(logsDir.length() - 1) != '\\'))
87 {
88 logsDir.push_back('/');
89 }
90
91 std::string logname =
sConfigMgr->GetOption<std::string>(
"PacketLogFile",
"");
92 if (!logname.empty())
93 {
94 _file = fopen((logsDir + logname).c_str(),
"wb");
95
100 header.
Build = 12340;
106
108 {
109 fwrite(&header,
sizeof(header), 1,
_file);
110 }
111 }
112}
#define sConfigMgr
Definition Config.h:74
uint32 getMSTime()
Definition Timer.h:103
bool CanLogPacket() const
Definition PacketLog.h:45
Seconds GetGameTime()
Definition GameTime.cpp:38
References _file, LogHeader::Build, CanLogPacket(), LogHeader::FormatVersion, GameTime::GetGameTime(), getMSTime(), LogHeader::Locale, LogHeader::OptionalDataSize, sConfigMgr, LogHeader::SessionKey, LogHeader::Signature, LogHeader::SnifferId, LogHeader::SniffStartTicks, and LogHeader::SniffStartUnixtime.
Referenced by PacketLog().
◆ instance()
77{
80}
Definition PacketLog.h:34
static PacketLog * instance()
Definition PacketLog.cpp:76
References instance().
Referenced by instance().
◆ LogPacket()
115{
117
122
125
126 if (addr.is_v4())
127 {
128 auto bytes = addr.to_v4().to_bytes();
130 }
131 else if (addr.is_v6())
132 {
133 auto bytes = addr.to_v6().to_bytes();
135 }
136
139 header.
Opcode = packet.GetOpcode();
140
141 fwrite(&header,
sizeof(header), 1,
_file);
142
143 if (!packet.empty())
144 {
145 fwrite(packet.contents(), 1, packet.size(),
_file);
146 }
147
149}
@ CLIENT_TO_SERVER
Definition PacketLog.h:27
std::mutex _logPacketLock
Definition PacketLog.h:38
References _file, _logPacketLock, PacketHeader::ArrivalTicks, CLIENT_TO_SERVER, PacketHeader::ConnectionId, ByteBuffer::contents(), PacketHeader::Direction, ByteBuffer::empty(), getMSTime(), WorldPacket::GetOpcode(), PacketHeader::Length, PacketHeader::Opcode, PacketHeader::OptionalData, PacketHeader::OptionalDataSize, ByteBuffer::size(), PacketHeader::OptionalData::SocketIPBytes, and PacketHeader::OptionalData::SocketPort.
◆ _file
◆ _initializeFlag
std::once_flag PacketLog::_initializeFlag |
|
private |
◆ _logPacketLock
std::mutex PacketLog::_logPacketLock |
|
private |
The documentation for this class was generated from the following files:
- azerothcore-wotlk/src/server/game/Server/Protocol/PacketLog.h
- azerothcore-wotlk/src/server/game/Server/Protocol/PacketLog.cpp