文档介绍:jmppok的专栏
网络连接世界软件创造未来
C++日志库log4cplus:SocketAppender记录日志到log Server
分类: C/C++ 2013-12-17 13:58 219人阅读评论(0) 收藏举报
Log4cplusSocketAppenderloggingserver
转载请注明出处:http://blog./jmppok/article/details/17375057
C++程序在后台运行时,可通过log4cplus记录日志。当C++程序运行在远程服务器上时,我们就需要远程登陆到该服
务器才能查看日志。进一步,如果该C++程序一个并行程序或者分布式程序,为了查看程序的运行状态,我们就需要
登陆到N台服务器上,tail -f ,而实际上,很多服务端开发者都遇到过或正
在遭受这个问题的困扰。
作为Log4J的翻版,Log4cplus也提供了SockeAppender,可以通过SocketAppender将日志输出到一个指定的log
server上,从而解决上述问题。
关于Log4cplus的介绍,请参考C++开源日志库log4cplus
在Log4cplus的源码包中,有一个loggingServer目录,该目录中实现了一个LoggingServer。
在编译Log4cplus时,会自动编译该目录,在目录中生成loggingServer可执行文件,当然可以自己make(需要依赖
log4cplus库)。
loggingServer使用方式如下:
./loggingserver 9000
9000表示监听的端口号(不需要地址,默认监听本机地址)
,和普通的log4cplus配置文件相同,loggingserver收到各个
socket发来的日志后,根据配置文件信息,将其写入文件。
下面是一个简单的配置文件示例:
=DEBUG, STDOUT, ALL_MSGS
=log4cplus::ConsoleAppender
=log4cplus::PatternLayout
#=%d{%m/%d/%y %H:%M:%S} [%t] %-5p %c{2} %%%x%% - %m [%l]%n
=[%-5p %d{%y-%m-%d %H:%M:%S}] [%l]%n%m%n%n
#设置日志追加到文件尾
=log4cplus::RollingFileAppender
#设置日志文件大小