转载于:https://blog.csdn.net/heysneer/article/details/8637253
1. 程序结束后如果没有调用log4z的stop 会不会造成日志丢失或者程序崩溃?
回答: 不会, log4z在自身销毁时候会先写完所有队列中的日志 然后安全的退出.
2. log4z是否支持彩色日志屏幕输出?
回答: 支持, 根据日志级别的不同予以不同颜色输出.
3. log4z支持同时多个日志文件输出吗?
回答: 支持, 可手动添加额外的日志记录器.
3. log4z的开源方式是什么? 可以商业使用吗?
回答: 采用MIT授权, 可以商业使用.
4. log4z的日志文件是否有大小限制?
回答: 默认限制100M, 超过100M则会换新文件.
5. log4z在linux下如何使用?
回答: 自带例子中有一个编写好的makefile文件 可以make 一下看看test例子的效果.
6. log4z如何快速的添加到现有的项目中使用?
回答: 在项目中使用 需要把log4z.h 和log4z.cpp加入到项目中编译, 在使用到的地方include一下头文件即可使用. 如果是跨多个模块共用 需要把cpp编译到公用的库文件中.
7. log4z有几种日志级别?
回答: 6种, 对应宏与色彩为: LOG_LEVEL_DEBUG, LOG_LEVEL_INFO, LOG_LEVEL_WARN, LOG_LEVEL_ERROR, LOG_LEVEL_ALARM, LOG_LEVEL_FATAL .
8. log4z支持动态改变日志输出级别吗?
回答: 支持, 在任意时刻和任意位置 调用接口ChangeLoggerLevel(LoggerId nLoggerID, int nLevel) 即可进行设置改变, 立刻生效.
9. log4z对已经关闭的日志记录器写日志会有什么后果?
回答: 日志会被过滤掉.
10. log4z单条日志长度有没有最大限制?
回答: 有, 默认是2K, 此长度包括时间戳与宏定义产生源代码文件名与函数名的长度, 超出部分会被截断. 如果需要可以更改log4z.h中宏定义LOG_BUF_SIZE的大小.
11. log4z最多可创建多少日志记录器?
回答:默认是20个, 如果需要更改 可修改log4z.h中的宏定义 LOGGER_MAX.
12. 我不想让输出的日志带有那些长长的源代码文件名和函数名等信息 该如何操作?
回答: 直接调用原始接口: bool PushLog(LoggerId id, int level, const char * log);
13. 可以更改日志输出级别对应的颜色吗?
回答: 可以 在log4z.cpp中可以找到对应的修改地方 但不建议这么做. 如果有更舒适的色彩方案欢迎push or email to me 谢谢.
14. 我想添加一个额外的日志记录器 怎么做?
回答: 调用接口DynamicCreateLogger, 然后使用日志输出的时候指定该接口返回的LoggerId. 具体使用参见源代码中提供的advance例子.
15. 我想通过配置文件添加日志 怎么做?
回答: 参考源代码中提供的配置文件和advance例子. 大致流程为: 配置文件中添加配置, 在程序中调用接口ConfigFromFile进行加载, 然后通过接口GetLoggerFromName获取指定配置初始化到的LoggerId.
16. 所有接口是不是都是线程安全的?
回答: 除了start和stop接口 其余全部是线程安全的. 也就是说 你可以再任何线程中进行动态添加日志记录器 获取日志记录器 进行日志录入 以及进行日志记录的设置更改..