log4cplus是一款优秀的基于c/c++的开源日志库,那么大家知道linux下log4cplus日志工具怎样进行配置吗?下面答.案.网 ZqNf.Com小编就为大家带来了linux下配置log4cplus日志工具的方法。
linux下log4cplus日志工具配置方法
1、log4cplus简介
log4cplus是c++编写的开源的日志系统,前身是java编写的log4j系统.受apache software license保护。作者是tad e. smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 你可以选择将信息输出到屏幕、文件、nt event log、甚至是远程服务器;通过指定策略对日志进行定期备份。
2、log4cplus下载
最新的log4cplus可以从以下网址下载。
log4cplus:http://sourceforge.net/projects/log4cplus/
在redhat linux系统下可使用以下命令安装:
wget http://sourceforeg.net/projects/log4cplus/files/log4cplus-stable/1.1.2/log4cplus-x.x.x.tar.gz
3、log4cplus安装
tar xvzf log4cplus-x.x.x.tar.gz
cd log4cplus-x.x.x
./configure
make
make install
4、log4cplus配置
log4cplus默认安装后头文件路径是/usr/local/include/log4cplus,库文件的安装文件路劲是/usr/local/lib,编辑.bash_profile文件添加库文件。
$ vi ~/.bash_profile
添加:
ld_library_path=ld_library_path:/usr/local/lib
export ld_library_path
添加完后source ~/.bash_profile使改变生效
$ vi /etc/profile
添加:
cplus_include_path=ld_library_path:/usr/local/lib
export cplus_include_path
添加完后source ~/.bash_profile使改变生效
5、测试
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace log4cplus;
logger ptestlogger;
void writelog(char* leval,char* info)
{
struct tm *p;
time_t lt=time(null);
p=localtime(
char* timetemp=ctime(
*(timetemp+strlen(timetemp)-1)='\0';
char temp[10000];
sprintf(temp,"[%s] %s",timetemp,info);
printf("temp==%s",temp);
printf("leval====%s\n",leval);
if(memcmp(leval,"trace",5)==0)
printf("%d===%d",memcmp("trace","trac1e",5),memcmp(leval,"trace",5));
log4cplus_trace(ptestlogger,temp);
if(memcmp(leval,"debug",5)==0)
log4cplus_debug(ptestlogger,temp);
if(memcmp(leval,"info",4)==0)
log4cplus_info(ptestlogger,temp);
if(memcmp(leval,"warn",4)==0)
log4cplus_warn(ptestlogger,temp);
if(memcmp(leval,"error",5)==0)
log4cplus_error(ptestlogger,temp);
if(memcmp(leval,"fatal",5)==0)
log4cplus_fatal(ptestlogger,temp);
}
int main()
{
char* info="you have a iuns";
char filename[50];
struct tm *p;
time_t lt=time(null);
p=localtime(
sprintf(filename,"%d-%d-%d.txt",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);
file* stream=fopen(filename,"wb");
sharedappenderptr pfileappender(new fileappender((filename)));
ptestlogger = logger::getinstance(("loggername"));
ptestlogger.addappender(pfileappender);
writelog("trace",info);
writelog("debug",info);
writelog("error",info);
return 0;
}
编译命令
g++ filetime.cpp -i /usr/local/log4cplus/include/ -l /usr/local/log4cplus/lib -llog4cplus -o filetime
linux下log4cplus日志工具怎样进行配置windows教程