You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
965 B
C++
35 lines
965 B
C++
#pragma once
|
|
|
|
#include "nlohmann/json.hpp"
|
|
|
|
namespace mitech::utils::logging
|
|
{
|
|
constexpr auto MAX_FILESIZE_MB = 1;
|
|
constexpr auto MAX_RUNNING_NUMBER = 99;
|
|
|
|
using stLogOption = struct _stLogOption
|
|
{
|
|
bool enable{ false };
|
|
// daily 1:30am
|
|
bool daily_log{ false };
|
|
int daily_hour{ 1 };
|
|
int daily_minute{ 30 };
|
|
// rotating 1MB 99 files
|
|
int filesize_mb{ MAX_FILESIZE_MB };
|
|
int rotating_files{ MAX_RUNNING_NUMBER };
|
|
//
|
|
bool debug_console{ false };
|
|
//
|
|
std::string path_file{};
|
|
|
|
NLOHMANN_DEFINE_TYPE_INTRUSIVE(_stLogOption, enable, daily_log, daily_hour, daily_minute, filesize_mb, rotating_files, debug_console, path_file)
|
|
};
|
|
|
|
class CLogSettings
|
|
{
|
|
public:
|
|
bool Deserialize(const std::string& strFileName, stLogOption& myOption);
|
|
bool Serialize(const std::string& strFilename, const stLogOption& _myOption);
|
|
};
|
|
}
|