非常不错的log4c 学习笔记,包括作者写了个 timewin的实现:
http://blog.csdn.net/kingsong0816/article/details/6029863
1.Log工具简单比较
Log4cpp & Log4CPlus:C++的日志库,可移植移性相对差些
Log4c:C的日志库,基本上都是一些纯c的东西,移植性较好
2.Log4c的基本概念
Log4c中有三个重要的概念, Category, Appender, Layout。
Category用于区分不同的日志,在一个程序中我们可以通过Category来指定很多的日志。
Appdender用于描述输出流,通过为Category来指定一个Appdender,可以决定将log信息来输出到什么地方去,比如stdout, stderr, rollingfile等等。
Layout用于指定日志信息的格式,通过为Appender来指定一个Layout,可以决定log信息以何种格式来输出,比如是否有带有时间戳, 是否包含文件位置信息等,以及他们在一条log信息中的输出格式的等。
Category, Appender, Layout三者之间的关系,一个Category需要为其指定一个appender, 一个appender亦要为其指定一个layout。
另外,对于文件类型输出还有一个rollingpolicy。rollingpolicy用于描述文件输出的配置策略。