Log4cxx中多用户的解决方法之一
工程中加入log4cxx.lib,步骤:
1、"项目"->"属性"->"配置属性"->"链接器"->"常规"->"附加库目录",写入"log4cxx.lib"存放的目录 "E:/c++/LOG4CXX/log4cxx-0.10.0-vc6-June2008/msvc6-proj/Release_Shared"
2、"项目"->"属性"->"配置属性"->"链接器"->"输入"->"附加依赖项",写入"log4cxx.lib".
3、然后把log4cxx.lib文件COPY到工程目录中.
----------------------------------------------------------
在log4cxx.properties文件中的内容
log4j.rootLogger=INFO,mylog
log4j.spirit=INFO
#对Appender mylog进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.mylog=org.apache.log4j.FileAppender
log4j.appender.mylog.File=Log/debug.log
log4j.appender.mylog.Append=true
log4j.appender.mylog.layout=org.apache.log4j.PatternLayout
log4j.appender.mylog.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
-------------------
在log4cxx1.properties文件中的内容
log4j.rootLogger=INFO,mylog
log4j.spirit=INFO
#对Appender mylog进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.mylog=org.apache.log4j.FileAppender
log4j.appender.mylog.File=Err/debug.log
log4j.appender.mylog.Append=true
log4j.appender.mylog.layout=org.apache.log4j.PatternLayout
log4j.appender.mylog.layout.ConversionPattern=%d [%t] %-5p %.16c %x - %m%n
测试代码如下
CString trace = _T("spirit");
PropertyConfigurator::configure("E://MyVS2005//C++//AppMfc//AppMfc//log4cxx.properties");
LoggerPtr traceLogger = Logger::getLogger("spirit");
//LOG4CXX_INFO(traceLogger, _T("LOG4CXX_INFO"));
//LOG4CXX_DEBUG(traceLogger, _T("LOG4CXX_DEBUG"));
LOG4CXX_ERROR(traceLogger, _T("LOG4CXX_ERROR"));
PropertyConfigurator::configure("E://MyVS2005//C++//AppMfc//AppMfc//log4cxx1.properties");
LoggerPtr traceLogger1 = Logger::getLogger("spirit");
LOG4CXX_INFO(traceLogger1, _T("spirit"));
LOG4CXX_ERROR(traceLogger1, _T("spirit_ERROR"));
这样解决了使用一个程序使用Log4cxx 类是就可以同时几个目录及文件写文本日志了。
简单吧 。 哈哈
其它的 如下载 请把网络上的文章很多我就不多写了。
我使用的版本是
log4cxx-0.10.0-vc2008-June2008/msvc9-proj
二、根据日志文件大小自动产生新日志文件
配置文件内容如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a RollingFileAppender.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=backup.log
#log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
其中:
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1