《Log4j 2官方文档》 Configuration Syntax
  AnyLlCIhvKpr 2023年11月12日 18 0

配置语法

正如之前的例子所展示的一样,Log4j允许你简单地重新定义记录日志的行为而不需要去修改你的应用。可以禁用应用程序的某些部分的日志记录,只在满足特定标准时记录日志,例如为特定用户执行的操作,路由输出到Flume或者日志系统。要想实现这些东西必须先理解这个配置文件的语法。

配置在xml里面的元素接受这几个属性:
元素名称和描述

  • advertiser (可选)用于通知单个FileAppender或SocketAppender配置的插件名称。唯一提供的Adverti ser插件是”multicastdns”。

  • dest 要么”err”,它将输出发送到stderr,或文件路径或URL。

  • monitorInterval 检查文件配置更改之前必须经过的最短时间(以秒为单位)。

  • name 配置的名称

  • packages 以逗号分隔的包名称列表,用于搜索插件。每个类加载器只加载一次插件,因此更改此值可能对重 新配置没有任何影响。

  • schema 标识类加载器找到用于验证配置的XML模式的位置。仅当strict设置为true时有效。如果未设置, 将不会发生模式验证。

  • shutdownHook 不管确认与否,Log4j将会自动关闭当JVM关闭的时候。这个关闭hook默认是可用的,可以通过设置属 性为”disable”来禁用。

  • status 内部的log4j事件等级会被输出到控制台上。有效的属性值分为”trace”, “debug”, “info”, “warn”, “error” 和 “fatal”。Log4j将会把初始化,回滚和其他内部活动记录到状态记录器里。设 置status=”trace”是其中一种提供的第一件工具,如果你需要解决这个log4j的问题。

  • strict 启用严格的XML语法使用。在JSON的配置里不支持。

  • verbose 在加载插件时启用诊断信息。

Log4j可以使用两种XML风格进行配置;简洁和严谨。简洁的格式使配置很容易,因为元素名称匹配它们表示的组件,但是它不能用XML模式验证。例如,ConsoleAppender通过在其父appenders元素下声明名为Console的XML元素来配置。但是,元素和属性名称不区分大小写。此外,属性可以指定为XML属性,也可以指定为没有属性且具有文本值的XML元素。所以

<PatternLayout pattern=”%m%n”/>

<PatternLayout>
<Pattern>%m%n</Pattern>
</PatternLayout>
是相等的。

下面的文件表示XML配置的结构,注意,下面的斜体元素表示将出现在其位置的简化元素名称。

<?xml version="1.0" encoding="UTF-8"?>;
<Configuration>
<Properties>
<Property name="name1">value</property>
<Property name="name2" value="value2"/>
</Properties>
<filter ... />
<Appenders>
<appender ... >
<filter ... />
</appender>
...
</Appenders>
<Loggers>
<Logger name="name1">
<filter ... />
</Logger>
...
<Root level="level">
<AppenderRef ref="name"/>
</Root>
</Loggers>
</Configuration>

可以在本页面里的sample appender, filter 和 logger declarations。查看更多的例子。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   19   0   0 http协议
  TEZNKK3IfmPf   2023年11月15日   21   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   11   0   0 http协议
  TEZNKK3IfmPf   2023年11月15日   13   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   13   0   0 多线程同步
  TEZNKK3IfmPf   2023年11月15日   17   0   0 http协议
AnyLlCIhvKpr