ShowLog 日志库使用文档
简介
ShowLog 是一个高性能的 Windows 平台日志库,支持多线程、异步写入、缓冲池管理等特性。它提供了一个可视化的日志窗口,支持颜色显示,并能够自动管理日志文件。
(c语言写的dll供易语言调用,喜欢的人多就开源)
特性
- 高性能异步日志写入
- 双缓冲池设计,避免 I/O 阻塞
- 支持控制台可视化输出,带颜色区分
- 自动日志文件管理和轮转
- 线程安全设计
- 支持 GBK 编码
- 防止意外关闭的日志窗口保护机制
API 说明
初始化函数
BOOL InitLogger(
const char* logDir, // 日志文件保存目录
int bufferSize, // 缓冲区大小(字节),0表示使用默认值16MB
int flushInterval, // 异步刷新间隔(毫秒)
BOOL asyncWrite, // 是否启用异步写入
BOOL enableConsole // 是否启用控制台窗口
);
写日志函数
void WriteLog(
const char* content1, // 主要日志内容
const char* content2, // 附加日志内容
WORD bgColor, // 背景色(控制台显示用)
WORD textColor // 文字颜色(控制台显示用)
);
控制台管理函数
void ShowLogWindow(void); // 显示日志窗口
void HideLogWindow(void); // 隐藏日志窗口
void ClearLogWindow(void); // 清空日志窗口内容
清理函数
void CleanupLogger(void); // 清理资源,关闭日志系统
使用示例
#include "logger.h"
int main() {
// 初始化日志系统
if (!InitLogger("./logs", 0, 1000, TRUE, TRUE)) {
return 1;
}
// 写入不同级别的日志
WriteLog("INFO", "这是一条信息日志", 0, 7); // 白色文字
WriteLog("WARN", "这是一条警告日志", 0, 14); // 黄色文字
WriteLog("ERROR", "这是一条错误日志", 0, 12); // 红色文字
// 隐藏日志窗口
HideLogWindow();
// 稍后再显示
ShowLogWindow();
// 清理资源
CleanupLogger();
return 0;
}
颜色代码参考
文字颜色:
- 0 = 黑色
- 1 = 深蓝色
- 2 = 深绿色
- 3 = 湖蓝色
- 4 = 深红色
- 5 = 紫色
- 6 = 黄褐色
- 7 = 白色
- 8 = **
- 9 = 蓝色
- 10 = 绿色
- 11 = 浅蓝色
- 12 = 红色
- 13 = 粉色
- 14 = 黄色
- 15 = 亮白色
背景色:
- 0 = 黑色
- 16 = 深蓝色
- 32 = 深绿色
- 48 = 湖蓝色
- 64 = 深红色
- 80 = 紫色
- 96 = 黄褐色
- 112 = 白色
注意事项
- 确保在程序退出前调用
CleanupLogger() 以正确释放资源
- 日志文件名格式为:log_YYYYMMDD_HHMMSS.log
- 异步写入模式下,日志内容可能会有少量延迟写入文件
- 控制台窗口被设计为不可通过常规方式关闭,需要通过 API 控制
- 建议使用异步写入模式以获得更好的性能
性能优化建议
- 对于高频日志,建议使用异步写入模式
- 根据实际需求调整缓冲区大小
- 合理设置刷新间隔,过短的间隔可能影响性能
- 不需要显示时及时隐藏日志窗口
最佳实践
- 在程序启动时初始化日志系统
- 使用适当的日志级别和颜色区分不同类型的日志
- 定期检查日志文件大小和数量
- 在开发阶段启用控制台,发布时可以禁用
- 使用预定义的颜色常量而不是直接使用数字
版本历史
v1.0.0
- 初始版本发布
- 支持基本的日志功能
- 实现控制台窗口管理
下载地址:回复可见
https://wwmn.lanzoum.com/iYsU32xgq1aj
|