当前位置: 首页 > 工具软件 > log4z > 使用案例 >

log4z 常见问题解答

璩和璧
2023-12-01

转载于: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接口 其余全部是线程安全的. 也就是说 你可以再任何线程中进行动态添加日志记录器 获取日志记录器 进行日志录入 以及进行日志记录的设置更改.. 

 类似资料: