TrinityCore
AppenderFile.h
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef APPENDERFILE_H
19
#define APPENDERFILE_H
20
21
#include "
Appender.h
"
22
#include <atomic>
23
24
class
TC_COMMON_API
AppenderFile
:
public
Appender
25
{
26
public
:
27
static
constexpr
AppenderType
type =
APPENDER_FILE
;
28
29
AppenderFile
(
uint8
id
, std::string
const
& name,
LogLevel
level,
AppenderFlags
flags
, std::vector<std::string_view>
const
& args);
30
~AppenderFile
();
31
FILE* OpenFile(std::string
const
& name, std::string
const
& mode,
bool
backup);
32
AppenderType
getType
()
const override
{
return
type; }
33
34
private
:
35
void
CloseFile();
36
void
_write
(
LogMessage
const
* message)
override
;
37
FILE*
logfile
;
38
std::string
_fileName
;
39
std::string
_logDir
;
40
bool
_dynamicName
;
41
bool
_backup
;
42
uint64
_maxFileSize
;
43
std::atomic<uint64>
_fileSize
;
44
};
45
46
#endif
Appender.h
uint8
uint8_t uint8
Definition:
Define.h:144
TC_COMMON_API
#define TC_COMMON_API
Definition:
Define.h:99
uint64
uint64_t uint64
Definition:
Define.h:141
flags
uint16 flags
Definition:
DisableMgr.cpp:49
AppenderFlags
AppenderFlags
Definition:
LogCommon.h:50
AppenderType
AppenderType
Definition:
LogCommon.h:40
APPENDER_FILE
@ APPENDER_FILE
Definition:
LogCommon.h:43
LogLevel
LogLevel
Definition:
LogCommon.h:25
AppenderFile
Definition:
AppenderFile.h:25
AppenderFile::_fileSize
std::atomic< uint64 > _fileSize
Definition:
AppenderFile.h:43
AppenderFile::_dynamicName
bool _dynamicName
Definition:
AppenderFile.h:40
AppenderFile::_maxFileSize
uint64 _maxFileSize
Definition:
AppenderFile.h:42
AppenderFile::_backup
bool _backup
Definition:
AppenderFile.h:41
AppenderFile::_fileName
std::string _fileName
Definition:
AppenderFile.h:38
AppenderFile::logfile
FILE * logfile
Definition:
AppenderFile.h:37
AppenderFile::_logDir
std::string _logDir
Definition:
AppenderFile.h:39
AppenderFile::getType
AppenderType getType() const override
Definition:
AppenderFile.h:32
Appender
Definition:
Appender.h:30
Appender::_write
virtual void _write(LogMessage const *)=0
LogMessage
Definition:
LogMessage.h:27
common
Logging
AppenderFile.h
Generated on Thu Mar 14 2024 23:39:07 for TrinityCore by
1.9.4