《Log4j 2官方文档》 Configuration Syntax

简介:

配置语法

正如之前的例子所展示的一样,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。查看更多的例子。

转载自 并发编程网 - ifeve.com

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Java 数据格式 XML
《Log4j 2 官方文档》Configuring Filters
配置过滤器 Log4j允许在下面4个地方中任意一个指定过滤器: 与追加器,记录器和属性元素处于同一级别。 这些过滤器可以在事件传递到LoggerConfig之前接受或拒绝事件。 在记录器元素中。 这些过滤器可以接受或拒绝特定记录器的事件。
1654 0
|
JavaScript 前端开发 Java
|
4月前
|
Java Spring
spring boot 配置log4j 日志
spring boot 配置log4j 日志
69 0
|
3月前
|
Java Spring
【Spring Boot】logback和log4j日志异常处理
【1月更文挑战第25天】【Spring Boot】logback和log4j日志异常处理
|
5月前
|
XML JSON Java
最牛逼 Java 日志框架—Log4j2,性能无敌,横扫对手
Logback 算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新;logback的兄弟 slf4j 最近一个稳定版也是2017年,有点凉凉的意思。
|
7月前
|
Java
log4j.properties日志配置文件内容
log4j.properties日志配置文件内容
43 0
|
3月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
197 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
2月前
log4j2.xml的日志打印配置
log4j2.xml的日志打印配置
28 0