log4...是基于log4j的一系列的c++移植版本,使用了log4j的模式结构,目前主要有以下几个版本: 
1. log4cxx,    目前是到0.10.0版,Apache下的孵化项目,不能独立编译,依赖于APR,编译比较麻烦,2008年以后就没再更新 
2. log4cplus, 目前最新版本是1.2.0,最近一次更新2016-01-16,不依赖于第三方库,下载位置https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.2.0/
3. log4cpp,    目前最新版本1.1.2,最近一次更新2016年-08-02,也不依赖与第三方库,与log4cplus功能类似,但是简化了一些实现,增加了一些功能,下载位置https://sourceforge.net/projects/log4cpp/files/?source=navbar。因为基本结构大致类似,性能上相比也没有明显差别。

一、log4j类比

  在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:

  • yyyy-MM,                    对应monthly(每月)
  • yyyy-ww,                          对应weekly(每周)
  • yyyy-MM-dd,                    对应daily(每天)
  • yyyy-MM-dd-a,                 对应half-daily(每半天)
  • yyyy-MM-dd-HH,              对应hourly(每小时)
  • yyyy-MM-dd-HH-mm,       对应minutely(每分钟)
  • DatePattern中不用处理的文字要放到单引号(‘)中,如上面的(.)。如果您对此有疑问可以查阅SimpleDateFormat的文档。DailyRollingFileAppender中使用这个类来处理DatePattern。

  DatePattern格式化之后的文本作为文件名字的后缀。DailyRollingFileAppender不支持格式化之后的文本作为文件名字的前缀。

  DailyRollingFileAppender在每一个日志事件(LoggingEvent)附加(append)之前检查是否需要附加。也就是说如果在一个滚动区间中没有任何日志记录,那么这个区间的日志记录文件就不会形成。

  在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义。定义步骤就是对Logger、Appender及Layout的分别使用。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java properties(key=value)【Java特性文件(键=值)】。(这里只说明properties文件)

二、log4cpp中的DailyRollingFileAppender

  需求分析:

      1)按天存放log;参考--log4cpp按照日期保存 。

      2)按照每天每小时存放log;

没有坚守就没有事业,没有执着就没有未来!