mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-27 07:57:21 +00:00
39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#pragma once
|
|
#include <ctime>
|
|
#include <cstdarg>
|
|
#include <string>
|
|
#include <fstream>
|
|
#include <iostream>
|
|
|
|
class dLogger {
|
|
public:
|
|
dLogger(const std::string& outpath, bool logToConsole, bool logDebugStatements);
|
|
~dLogger();
|
|
|
|
void SetLogToConsole(bool logToConsole) { m_logToConsole = logToConsole; }
|
|
void SetLogDebugStatements(bool logDebugStatements) { m_logDebugStatements = logDebugStatements; }
|
|
void vLog(const char* format, va_list args);
|
|
|
|
void LogBasic(const std::string& message);
|
|
void LogBasic(const char* format, ...);
|
|
void Log(const char* className, const char* format, ...);
|
|
void Log(const std::string& className, const std::string& message);
|
|
void LogDebug(const std::string& className, const std::string& message);
|
|
void LogDebug(const char* className, const char* format, ...);
|
|
|
|
void Flush();
|
|
|
|
const bool GetIsLoggingToConsole() const { return m_logToConsole; }
|
|
|
|
private:
|
|
bool m_logDebugStatements;
|
|
bool m_logToConsole;
|
|
std::string m_outpath;
|
|
std::ofstream mFile;
|
|
|
|
#ifndef _WIN32
|
|
//Glorious linux can run with SPEED:
|
|
FILE* fp = nullptr;
|
|
#endif
|
|
};
|