Log4cxx配置文件语法
log4cxx config file syntax
我刚刚发现log4cxx日志框架。似乎有两种不同的语法用于编写配置文件:
- xml方式
键值的方式
这两种方法是否有区别或最佳实践?
在log4j中,Ceki Gulcu(作者)建议XML配置优于文本文件,并且它在默认初始化中也具有优先权(log4j.xml
优于log4j.txt
)。使用XML配置可以比使用文本文件实现更多的功能(我认为不能使用文本文件配置操纵日志记录器的可加性并设置log4j调试模式)。
也就是说,log4cxx首先寻找log4cxx.xml
,但是在网上几乎没有任何配置示例(也没有官方文档),所以您可能需要分析DOMConfigurator
源代码以找出可能的情况(参考log4j示例可能会被证明具有误导性,因为它并不总是完全相同的事情)。
综上所述,log4cxx在c++世界中的流行程度甚至无法接近Java中的log4j。我想知道为什么(除了大量的临时解决方案之外,还有什么在那里流行)。
这实际上不是问题的答案但是当你谷歌:
log4cxx XML配置文件语法
这个问题是最重要的搜索结果。正如@MaDa所提到的,很难找到log4cxx的XML配置文件示例和语法描述。这就是它。可能是最简单的,只是登录到控制台并进入日志文件。
<?xml version="1.0" encoding="UTF-8" ?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Output log messages to the system console. -->
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<!-- Also output log messages to the log file. -->
<appender name="FileAppender" class="org.apache.log4j.FileAppender">
<param name="file" value="LogFile.log" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %C{2} (%F:%L) - %m%n" />
</layout>
</appender>
<root>
<priority value="all" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
</root>
</log4j:configuration>
和简单用法示例:
#include "log4cxx/logger.h"
#include "log4cxx/xml/domconfigurator.h"
using namespace log4cxx;
using namespace log4cxx::xml;
LoggerPtr logger (Logger::getLogger ("TEST"));
int main ()
{
DOMConfigurator::configure ("Log4cxxConfig.xml");
LOG4CXX_INFO (logger, "App started!");
LOG4CXX_ERROR (logger, "Some error!");
return 0;
}
相关文章:
- 无法找到/读取配置文件.conf-FileIOException
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 一种在C++中读取TXT配置文件的简单方法
- FFMPEG配置文件级别id大小无效
- 配置文件解析器仅返回以前的值
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- Boost program_options将多个配置文件解析结果存储到一个parsed_options中
- C++语法头文件错误
- Windows 后台服务(系统配置文件)无法使用 C++ 访问 win 10 上的用户 appData 文件夹?
- 我应该如何获取配置文件的绝对路径与 Windows .exe一起发布?
- JPG-如何从ICC配置文件部分APP2读取/提取数据
- 检测到 Conan 配置文件设置与 CMake 之间的编译器版本不匹配
- boost::p rogram_options 配置文件格式
- 如何在Boost::program_options配置文件中为非字符串的自定义选项值类型处理空格
- 如何在 Boost Program_Options 中使用命令行和分层配置文件的选项
- 如何将不可编译的配置文件添加到QT工程中?
- OpenGL不能在核心配置文件中使用glVertexAttrib进行绘制
- 错误 VSP1011:无法获取调试信息.与 /配置文件链接器开关链接
- 解析程序配置文件
- Log4cxx配置文件语法