Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
AppenderFile.h
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#ifndef APPENDERFILE_H
7#define APPENDERFILE_H
8
9#include "Appender.h"
10#include <atomic>
11
12class AppenderFile : public Appender
13{
14public:
15 AppenderFile(uint8 _id, std::string const& _name, LogLevel level, const char* filename, const char* logDir, const char* mode, AppenderFlags flags, uint64 maxSize);
17 FILE* OpenFile(std::string const& _name, std::string const& _mode, bool _backup);
18
19private:
20 void CloseFile();
21 void _write(LogMessage const& message);
22 FILE* logfile;
23 std::string filename;
24 std::string logDir;
25 std::string mode;
27 bool backup;
29 std::atomic<uint64> fileSize;
30};
31
32#endif
AppenderFlags
Definition Appender.h:37
LogLevel
Definition Appender.h:16
std::uint8_t uint8
Definition Define.h:79
std::uint64_t uint64
Definition Define.h:76
std::string mode
FILE * OpenFile(std::string const &_name, std::string const &_mode, bool _backup)
void _write(LogMessage const &message)
AppenderFile(uint8 _id, std::string const &_name, LogLevel level, const char *filename, const char *logDir, const char *mode, AppenderFlags flags, uint64 maxSize)
std::atomic< uint64 > fileSize
std::string filename
uint64 maxFileSize
std::string logDir
LogLevel level
Definition Appender.h:91
AppenderFlags flags
Definition Appender.h:92
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