这里在使用和改编log4cplus的时候,记录下阅读log4cplus源码所学到的知识。
Log4cplus 使用
记录下对log4cplus的使用,源码解析和封装。在使用过程中遇到的问题。
安装
./configure -std=c++11
make
make install
如果要再次安装,需要在源码目录里输入 make clean ,make uninstall 即可重新编译安装。
使用
有两种配置log4cplus的方式,一种是使用properties文件。一种是在程序里动态的配置。
源码解析,拿fileappender举例
-Fileappender源码
每个appender类的构造方法都是有读取properites类,和通过传参的方式。
源码结构
这里源码都在src cxx文件下,头文件在include文件夹下
这里我发现的三个比较重要的点:
1.所有的appender子类都是继承了appender这个父类。
2.FileAppenderBase有两个不同的构造方法,一种是properties 的方式,另一种是直接将参数传入的方式。
3.append() 方法里的参数类型是InternalLoggingEvent类型,由此可见log4cplus是通过将所有日志信息封装成InternalLoggingEvent对象来记录的。
带着这三个特点阅读源码