Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
AppenderDB.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#include "
AppenderDB.h
"
7
#include "
Database/DatabaseEnv.h
"
8
9
AppenderDB::AppenderDB
(
uint8
id
, std::string
const
&
name
,
LogLevel
level
)
10
:
Appender
(
id
,
name
,
AppenderType
::
APPENDER_DB
,
level
),
realmId
(0),
enabled
(false) { }
11
12
AppenderDB::~AppenderDB
() { }
13
14
void
AppenderDB::_write
(
LogMessage
const
& message)
15
{
16
if
(!
enabled
)
17
return
;
18
19
// Avoid infinite loop, PExecute triggers Logging with "sql.sql" type
20
size_t
pos = message.
type
.find(
"sql"
);
21
if
(pos == std::string::npos)
22
return
;
23
24
PreparedStatement
* stmt =
LoginDatabase
.GetPreparedStatement(
LOGIN_INS_LOG
);
25
stmt->
setUInt64
(0, message.
mtime
);
26
stmt->
setUInt32
(1,
realmId
);
27
stmt->
setString
(2, message.
type
);
28
stmt->
setUInt8
(3,
uint8
(message.
level
));
29
stmt->
setString
(4, message.
text
);
30
LoginDatabase
.Execute(stmt);
31
}
32
33
void
AppenderDB::setRealmId
(
uint32
_realmId)
34
{
35
enabled
=
true
;
36
realmId
= _realmId;
37
}
AppenderType
AppenderType
Definition
Appender.h:29
AppenderType::APPENDER_DB
@ APPENDER_DB
Definition
Appender.h:33
LogLevel
LogLevel
Definition
Appender.h:16
AppenderDB.h
DatabaseEnv.h
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
LOGIN_INS_LOG
@ LOGIN_INS_LOG
Definition
LoginDatabase.h:75
AppenderDB::_write
void _write(LogMessage const &message)
Definition
AppenderDB.cpp:14
AppenderDB::enabled
bool enabled
Definition
AppenderDB.h:22
AppenderDB::realmId
uint32 realmId
Definition
AppenderDB.h:21
AppenderDB::~AppenderDB
~AppenderDB()
Definition
AppenderDB.cpp:12
AppenderDB::AppenderDB
AppenderDB(uint8 _id, std::string const &_name, LogLevel level)
Definition
AppenderDB.cpp:9
AppenderDB::setRealmId
void setRealmId(uint32 realmId)
Definition
AppenderDB.cpp:33
Appender::name
std::string name
Definition
Appender.h:89
Appender::id
uint8 id
Definition
Appender.h:88
Appender::level
LogLevel level
Definition
Appender.h:91
Appender::Appender
Appender(uint8 _id, std::string const &name, AppenderType type=AppenderType::APPENDER_NONE, LogLevel level=LogLevel::LOG_LEVEL_DISABLED, AppenderFlags flags=APPENDER_FLAGS_NONE)
Definition
Appender.cpp:24
PreparedStatement
Definition
PreparedStatement.h:63
PreparedStatement::setString
void setString(const uint8 index, const std::string &value)
Definition
PreparedStatement.cpp:175
PreparedStatement::setUInt64
void setUInt64(const uint8 index, const uint64 value)
Definition
PreparedStatement.cpp:112
PreparedStatement::setUInt32
void setUInt32(const uint8 index, const uint32 value)
Definition
PreparedStatement.cpp:103
PreparedStatement::setUInt8
void setUInt8(const uint8 index, const uint8 value)
Definition
PreparedStatement.cpp:85
LoginDatabase
LoginDatabaseWorkerPool LoginDatabase
Definition
Main.cpp:54
LogMessage
Definition
Appender.h:47
LogMessage::type
std::string type
Definition
Appender.h:56
LogMessage::mtime
time_t mtime
Definition
Appender.h:60
LogMessage::level
LogLevel level
Definition
Appender.h:55
LogMessage::text
std::string text
Definition
Appender.h:57
src
server
shared
Logging
AppenderDB.cpp
Generated on
for Project SkyFire Core by
1.17.0