抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留

This commit is contained in:
Zhang Jianjun
2026-02-02 16:09:02 +08:00
parent f148ca49e3
commit 4a2a284ac0
292 changed files with 350450 additions and 0 deletions

70
include/aLog.h Normal file
View File

@@ -0,0 +1,70 @@
#pragma once
#include "GdCPP_Exports.h"
#include <filesystem>
namespace fs = std::filesystem;
#include "spdlog/spdlog.h"
#include "spdlog/fmt/chrono.h" // support for user defined types
#include "spdlog/fmt/fmt.h"
#include "spdlog/fmt/ostr.h" // support for user defined types
#include "spdlog/fmt/xchar.h"
#include "spdlog/fmt/bundled/printf.h"
// aLogInit() 初始化时的flag枚举
enum eLogFlag
{
// 初始化时是否开启console log。
// 调用aLogInit()文件log是必须的console log是可选的
// 如果只开console log调用aLogInitConsole()即可
INIT_CONSOLE_LOG = 1 << 0,
// 是否单独开一个error和warning的log文件。
// 默认不开启。
INIT_ERROR_FILE_LOG = 1 << 1,
// 文件log是否滚动存储
// 不设置默认每次启动时都重新创建一个新的log文件文件名添加时间戳以区分。
// 设置了aLogInit()的logfilesize_M设置单个文件大小logfilenum设置最多文件数
INIT_ROLL_FILE_LOG = (1<<2)
};
//app全局通用的logger实例
GDCPP_API extern std::shared_ptr<spdlog::logger> alog;
GDCPP_API extern spdlog::sink_ptr pConsoleSink;
GDCPP_API extern spdlog::sink_ptr pFileSink;
GDCPP_API extern spdlog::sink_ptr pFileSink2;
// 初始化文件 + Console logger。其中文件logger是必选Console可选
GDCPP_API void InitRollFileLog(std::shared_ptr<spdlog::logger>& log, const char* logname, int flag, const fs::path & logdir, const std::wstring & filename, int logfilesize_K, int logfilenum = 16);
inline void aLogInitRollFileLog(int flag, const fs::path& logdir, const std::wstring& filename, int logfilesize_K, int logfilenum = 16)
{
InitRollFileLog(alog, "", flag, logdir, filename, logfilesize_K, logfilenum);
}
GDCPP_API void InitBasicFileLog(std::shared_ptr<spdlog::logger>& log, const char* logname, int flag, const fs::path& logdir, const std::wstring& filename);
inline void aLogInitBasicFileLog(int flag, const fs::path& logdir, const std::wstring& filename)
{
InitBasicFileLog(alog, "", flag, logdir, filename);
}
// 仅开Console log
GDCPP_API void aLogInitConsole();
// 关闭log
// aLogInit()、aLogInitConsole()初始化的资源,都在这里释放
GDCPP_API void LogDeinit(std::shared_ptr<spdlog::logger>& log, bool byelog=true);
inline void aLogDeinit(bool byelog = true)
{
LogDeinit(alog, byelog);
}
// 如果已经打开了Console Log关闭掉
// aLogInit()启动的logconsole可以中途打开、关闭。
// aLogInitConsole()启动的log也可以但没有必要
GDCPP_API void closeConsoleLog();
// 如果没开启Console log打开
// aLogInit()启动的logconsole可以中途打开、关闭。
// aLogInitConsole()启动的log也可以但没有必要
GDCPP_API void openConsoleLog();