当前位置: 首页 > 面试题库 >

为什么选择XML而不是属性文件进行Log4J配置?

荀豪
2023-03-14
问题内容

是否有任何理由在属性文件上使用XML进行Log4J配置?


问题答案:

在此博客中,对这两种方法的优点进行了有趣的讨论。以下部分是该博客的引文:

可以通过属性文件或XML文件定义属性。Log4j查找名为log4j.xml的文件,然后查找名为log4j.properties的文件。
两者都必须放在src文件夹中

该属性文件比XML文件更详细。XML还要求将log4j.dtd放置在源文件夹中。XML需要一个dom4j.jar,它可能不包含在较早的Java版本中。

该属性文件不支持某些高级配置选项,例如过滤器,自定义ErrorHandlers和特殊类型的附加程序,即AsyncAppender。ErrorHandlers定义了如何处理log4j本身的错误,例如配置错误的附加程序。过滤器更有趣。从可用的过滤器中,我认为属性文件确实缺少级别范围过滤器。

该过滤器允许定义a
[n]附加程序应接收从级别INFO到WARN的日志消息。这允许在不同的日志文件中拆分日志消息。一个用于DEBUGGING消息,另一个用于警告,…

属性附加器仅支持最低级别。如果将其设置为INFO,您还将收到WARN,ERROR和FATAL消息。

在我的原始答案上发表评论:斜体字是我的重点。为了本教程的目的,作者选择了掩饰或无意中忽略了属性或xml只需要位于类路径上,而不必位于src文件夹中。将它们添加到类路径的一种简单方法是将它们添加到src文件夹,因此,对于本教程而言,显然已足够。

这些都与所问的问题或答案的意图没有直接关系,后者是讨论使用xml文件配置log4j的优缺点。我认为其余的报价对于那些希望做出明智选择的人来说是有意义的和有用的。



 类似资料:
  • 我们正在开发Spring Boot2.1.6,我们需要在应用程序中实现Spring Boot profile 我们的项目中目前有两个属性文件application.properties和bucket.properties(s3配置)文件。 上面的配置工作正常,spring boot能够正确地拾取文件。 但是我想在资源文件夹中创建以下类型的文件夹结构来正确地隔离文件。 一旦这样做,我就在上面的Pro

  • 在使用来自Java背景的Swift时,为什么要选择结构而不是类呢?似乎它们是一样的,结构提供的功能较少。那为什么选择它呢?

  • 问题内容: 开始进行log4j配置的最简单方法是什么? 问题答案: 将名为的文件放在类路径的根目录中: 不需要什么了。Log4j将发现它并进行自我配置。

  • 问题内容: 我找到了一个响应式电子邮件模板的示例,其中有诸如此类的CSS选择器: 如果与以下内容完全相同,为什么要使用此语法: 它对移动浏览器或其他任何影响吗? 问题答案: 该语法是属性选择。 这将选择带有的任何标签。但是,它 不会选择具有的(例如。它仅与_ 该属性完全匹配。 您可能需要阅读必须记住的30个CSS选择器。对于任何有前途的Web开发人员来说,这都是无价之宝。

  • 我有一个Spring的豆子,定义为: 但是,属性< code > prop . loyalty . expering . points . time zone 导致< code > TypeMismatchException 出现以下消息: org.springframework.beans。TypeMismatchException:无法将类型“java.lang.String”的属性值转换为所