log4cxx.lib 使用步骤:

本文介绍如何使用Log4cxx实现多文件日志输出,并通过配置文件控制日志的输出路径。此外,还提供了根据日志文件大小自动创建新日志文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工程中加入了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中多用户的解决方法之一

 

在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

 

C:\Qt\Tools\CMake_64\share\cmake-3.30\Modules\CMakeTestCXXCompiler.cmake:73: error: The C++ compiler "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/HostX64/x64/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: 'C:/Qt/Examples/Qt-6.6.3/demos/calqlatr/build/Desktop_Qt_6_6_3_MSVC2019_64bit-Debug/CMakeFiles/CMakeScratch/TryCompile-p6qlk1' Run Build Command(s): C:/Qt/Tools/Ninja/ninja.exe -v cmTC_4f979 [1/2] "C:\PROGRA~1\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\bin\HostX64\x64\cl.exe" /nologo /TP -DQT_QML_DEBUG /DWIN32 /D_WINDOWS /GR /EHsc /Zi /Ob0 /Od /RTC1 -MDd /showIncludes /FoCMakeFiles\cmTC_4f979.dir\testCXXCompiler.cxx.obj /FdCMakeFiles\cmTC_4f979.dir\ /FS -c C:\Qt\Examples\Qt-6.6.3\demos\calqlatr\build\Desktop_Qt_6_6_3_MSVC2019_64bit-Debug\CMakeFiles\CMakeScratch\TryCompile-p6qlk1\testCXXCompiler.cxx [2/2] C:\Windows\system32\cmd.exe /C "cd . && C:\Qt\Tools\CMake_64\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_4f979.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- "C:\PROGRA~1\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\bin\Hostx64\x64\link.exe" /nologo CMakeFiles\cmTC_4f979.dir\testCXXCompiler.cxx.obj /out:cmTC_4f979.exe /implib:cmTC_4f979.lib /pdb:cmTC_4f979.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." FAILED: cmTC_4f979.exe C:\Windows\system32\cmd.exe /C "cd . && C:\Qt\Tools\CMake_64\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_4f979.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- "C:\PROGRA~1\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\bin\Hostx64\x64\link.exe" /nologo CMakeFiles\cmTC_4f979.dir\testCXXCompiler.cxx.obj /out:cmTC_4f979.exe /implib:cmTC_4f979.lib /pdb:cmTC_4f979.pdb /version:0.0 /machine:x64 /d
最新发布
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值