LOG4cxx安装指南
简介:Log4shell是开放源代码项目Apache Logging Service的子项目log4j在shell下的实现,用于为shell程序提供日志功能,以便开发者对目标程序进行调试和审计。虽然shell可以方便的操作文件,但通过成熟的日志框架更方便我们对日志的记录与处理。
(1)Reference-ubuntu
(2)Reference-其它
(3)Reference-log4shell(该参考文档无法实现仅供参考)
1 下载源码
安装:
apr\apr-util、log4cxx
2 安装log4cxx步骤-ubuntu(已验证)
2.0 环境
- Linux version 4.15.0-70-generic (buildd@lgw01-amd64-057) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12))
2.1 安装apr
# ./configure --prefix=/usr/local
# make
# sudo make install
2.2 安装apr-util
# ./configure --prefix=/usr/local --with-apr=/usr/local
# make
# sudo make install
2.3 安装log4cxx
# ./configure --prefix=/usr/local/ --with-apr=/usr/local/ --with-apr-util=/usr/local/ --with-charset=utf-8 --with-logchar=utf-8
添加头文件
src/main/cpp/inputstreamreader.cpp添加#include <string.h>
src/main/cpp/socketoutputstream.cpp添加#include <string.h>
src/examples/cpp/console.cpp添加#include <string.h>;#include <stdio.h>;
# make
# sudo make install
3 测试
3.1 测试主函数
main.cpp
#include <log4cxx/logger.h>
#include <log4cxx/basicconfigurator.h>
#include <log4cxx/helpers/exception.h>
#include <log4cxx/propertyconfigurator.h>
using namespace log4cxx;
using namespace log4cxx::helpers;
LoggerPtr logger_file(Logger::getLogger("file"));//获取配置文件中file对应的句柄
LoggerPtr logger_file(Logger::getLogger("console"));//获取配置文件中console对应的句柄
int main(){
PropertyConfigurator::configure("./log4cxx.properties");//加载配置文件,下面会细说
LOG4CXX_INFO(logger_file,"This is a test");
return 0;
}
3.2 配置文件
log4cxx.properties
#设置日志level为INFO,fa为文件输出对象,ca为控制台输出对象
log4j.rootLogger=INFO,fa,ca
#设置日志对象
log4j.logger.console=INFO,ca
log4j.logger.file=INFO,fa
#不向默认对象(rootLogger)输出,因此信息只能输出到文件
log4j.additivity.file=false
#**************************