Files
TrinityCore/src/server/shared/Logging/AppenderFile.h
Carbenium 03176662d1 Merge pull request #14317 from Naios/typesafelog
Type safe logging
(cherry picked from commit cc0c9add5a)

Conflicts:
	src/server/bnetserver/CMakeLists.txt
	src/server/game/Server/WorldSocketMgr.cpp
	src/server/shared/Logging/AppenderDB.cpp
	src/server/worldserver/CMakeLists.txt
2015-03-18 02:59:40 +01:00

45 lines
1.4 KiB
C++

/*
* Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef APPENDERFILE_H
#define APPENDERFILE_H
#include <atomic>
#include "Appender.h"
class AppenderFile: public Appender
{
public:
AppenderFile(uint8 _id, std::string const& _name, LogLevel level, const char* filename, const char* logDir, const char* mode, AppenderFlags flags, uint64 maxSize);
~AppenderFile();
FILE* OpenFile(std::string const& _name, std::string const& _mode, bool _backup);
private:
void CloseFile();
void _write(LogMessage const* message) override;
FILE* logfile;
std::string filename;
std::string logDir;
std::string mode;
bool dynamicName;
bool backup;
uint64 maxFileSize;
std::atomic<uint64> fileSize;
};
#endif