VC-Logger - 高性能 Windows C++ 日志组件,VC-Logger 是一个简单易用的 C++ 程序通用日子组件。设计时着重考虑三个方面:功能、可用性和性能:
功能: 本日志组件的目的是满足大多数应用程序记录日志的需求 —— 把日志输出到文件或发送到应用程序中,并不提供一些复杂但不常用的功能。
本日志组件的功能包括:
把日志信息输出到指定文件
每日生成一个日志文件
对于 GUI 程序,可以把日志信息发送到指定窗口
对于Console应用程序,可以把日志信息发往标准输出 (std::cout)
支持 MBCS / UNICODE,Console / GUI 程序
支持动态加载和静态加载日志组件 DLL
支持 DEBUG/TRACE/INFO/WARN/ERROR/FATAL 等多个日志级别
可用性: 本日志组件着重考虑了可用性,尽量让使用者用起来觉得简便、舒心:
简单纯净:不依赖任何程序库或框架
使用接口简单,不需复杂的配置或设置工作
提供 CStaticLogger 和 CDynamicLogger 包装类用于静态或动态加载以及操作日志组件,用户无 需关注加载细节
程序如果要记录多个日志文件只需为每个日志文件创建相应的 CStaticLogger 或 CDynamicLogger 对象
只需调用 Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法记录日志
日志记录方法支持可变参数
日志输出格式:<时间> <线程ID> <日志级别> <日志内容>
性能: 性能是组件是否值得使用的硬指标,本组件从设计到编码的过程都尽量考虑到性能优化:
支持多线程同时发送写日志请求
使用单独线程在后台写日志,不影响工作线程的正常执行
采用批处理方式批量记录日志
概述:
Module: VC-Logger
Purpose: 记录程序日志。
1. 把日志信息输出到指定文件
2. 对于 GUI 程序,可以把日志信息发送到指定窗口
3. 对于Console应用程序,可以把日志信息发往标准输出 (std::cout)
Desc:
1、功能:
--------------------------------------------------------------------------------------
a) 把日志信息输出到指定文件
b) 每日生成一个日志文件
c) 对于 GUI 程序,可以把日志信息发送到指定窗口
d) 对于Console应用程序,可以把日志信息发往标准输出 (std::cout)
e) 支持 MBCS / UNICODE,Console / GUI,win32 / x64 程序
f) 支持动态加载和静态加载日志组件 DLL
g) 支持 DEBUG/TRACE/INFO/WARN/ERROR/FATAL 等多个日志级别
2、可用性:
--------------------------------------------------------------------------------------
a) 简单纯净:不依赖任何程序库或框架
b) 使用接口简单,不需复杂的配置或设置工作
c) 提供 CStaticLogger 和 CDynamicLogger 包装类用于静态或动态加载以及操作日志组件,用户无需关注加载细节
d) 程序如果要记录多个日志文件只需为每个日志文件创建相应的 CStaticLogger 或 CDynamicLogger 对象
e) 只需调用 Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法记录日志
f) 日志记录方法支持可变参数
g) 日志输出格式:<时间> <线程ID> <日志级别> <日志内容>
3、性能:
--------------------------------------------------------------------------------------
a) 支持多线程同时发送写日志请求
b) 使用单独线程在后台写日志,不影响工作线程的正常执行
c) 采用批处理方式批量记录日志
Usage:
方法一:(静态加载 Logger DLL)
--------------------------------------------------------------------------------------
0. 应用程序包含 StaticLogger.h 头文件
1. 创建 CStaticLogger 对象(通常为全局对象)
2. 调用 CStaticLogger->Init(...) 初始化日志组件
3. 使用 CStaticLogger->Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法写日志
4. 调用 CStaticLogger->UnInit(...) 清理日志组件(CStaticLogger 对象析构时也会自动清理日志组件)
方法二:(动态加载 Logger DLL)
--------------------------------------------------------------------------------------
0. 应用程序包含 DynamicLogger.h 头文件
1. 创建 CDynamicLogger 对象(通常为全局对象)
2. 调用 CDynamicLogger->Init(...) 初始化日志组件
3. 使用 CDynamicLogger->Log()/Debug()/Trace()/Info()/Warn()/Error()/Fatal() 等方法写日志
4. 调用 CDynamicLogger->UnInit(...) 清理日志组件(CDynamicLogger 对象析构时也会自动清理日志组件)
方法三:(直接用导出函数加载 Logger DLL)
--------------------------------------------------------------------------------------
0. 应用程序包含 Logger.h 头文件
1. 手工调用 ILoger_Create() 和 ILoger_Create() 导出函数创建和销毁 ILogger 对象
(注:如果是动态加载,需手工调用 ::LoadLibrary()/::FreeLibrary() 系列 API 函数加载和卸载 Logger DLL)
[
***** 对于希望通过窗口接收日志信息的 GUI 程序 *****
A. 日志组件初始化成功后调用 SetGUIWindow(HWND) 设置收日志的窗口
B. 窗口须响应处理 LOG_MESSAGE 消息
C. 处理完 LOG_MESSAGE 消息后,调用 ILogger::FreeLogMsg() 销毁接收到的 TLogMsg
]
Environment:
1. Windows 2000 or later (_WIN32_WINNT >= 0x0500)
2. VC++ 2010 or later
Release:
1. Logger_C.dll - Console/MBCS/Release
2. Logger_CD.dll - Console/MBCS/Debug
3. Logger_CU.dll - Console/Unicode/Release
4. Logger_CUD.dll - Console/Unicode/Debug
5. Logger.dll - GUI/MBCS/Release
6. Logger_D.dll - GUI/MBCS/Debug
7. Logger_U.dll - GUI/Unicode/Release
8. Logger_UD.dll - GUI/Unicode/Debug
Examples:
1. TestGUILogger - GUI 版测试程序 (静态加载)
2. TestDynamicLogger - GUI 版测试程序 (动态加载)
3. TestConsoleLogger - Console 版测试程序 (静态加载)






















大小: 8KB
大小: 89.5M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
mysql数据库.net开发驱动(mysql connector net )8.0.11 官方最新版
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版