Skip to content
zsummer edited this page Apr 26, 2013 · 1 revision

1. 程序结束后如果没有调用log4z的stop 会不会造成日志丢失或者程序崩溃?

回答: 不会, log4z在自身销毁时候会先写完所有队列中的日志 然后安全的退出.

2. log4z是否支持彩色日志屏幕输出?

回答: 支持, 根据日志级别的不同予以不同颜色输出.

3. log4z支持同时多个日志文件输出吗?

回答: 支持, 可手动添加额外的日志记录器.

3. log4z的开源方式是什么? 可以商业使用吗?

回答: 采用MIT授权, 可以商业使用.

4. log4z的日志文件是否有大小限制?

回答: 没有, 无论日志文件多大 一个日志记录器每天只会产生并对应一个log文件, 一天一换.
  1. 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. 哪些接口是线程安全的?

回答: LOG4Z启动后所有可操作的接口都是线程安全, 但推荐日志的配置相关操作提前做好.