Log4j Spring Boot 支持
此模块为 Spring Boot 提供了超出 Spring Boot 本身提供的增强支持。
概述
此模块中的组件需要已创建的 Spring 环境。Spring Boot 应用程序多次初始化日志记录。第一次初始化发生在 Spring 执行任何初始化工作之前,因此不会创建任何环境,并且在此模块中实现的组件不会产生预期的结果。后续的日志记录初始化将具有 Spring 环境。
用法
Spring 查找
Spring 查找允许配置文件从 Log4j 配置文件引用 Spring 配置文件中定义的属性。例如
<property name="applicationName">${spring:spring.application.name}</property>
将 Log4j applicationName 属性设置为 Spring 配置中设置的 spring.application.name 的值。
Spring 属性源
Log4j 在解析其内部使用的属性时使用属性源。此支持允许在 Spring 配置中指定大多数 Log4j 的 系统属性。但是,某些仅在第一次 Log4j 初始化期间引用的属性(例如 Log4j 用于允许选择默认 Log4j 实现的属性)将不可用。
Spring 配置文件仲裁器
Log4j 2.15.0 中新增了“仲裁器”,它们是条件,可以导致 Log4j 配置的一部分被包含或排除。log4j-spring-boot 提供了一个仲裁器,允许使用 Spring 配置文件值来实现此目的。以下是一个示例
<Configuration name="ConfigTest" status="ERROR" monitorInterval="5">
<Appenders>
<SpringProfile name="dev | staging">
<Console name="Out">
<PatternLayout pattern="%m%n"/>
</Console>
</SpringProfile>
<SpringProfile name="prod">
<List name="Out">
</List>
</SpringProfile>
</Appenders>
<Loggers>
<Logger name="org.apache.test" level="trace" additivity="false">
<AppenderRef ref="Out"/>
</Logger>
<Root level="error">
<AppenderRef ref="Out"/>
</Root>
</Loggers>
</Configuration>
要求
Log4j 2 Spring Cloud 配置集成依赖于 Log4j 2 API、Log4j 2 Core 和 Spring Boot 版本 2.0.3.RELEASE 或 2.1.1.RELEASE 或更高版本,它要么发布系列。有关更多信息,请参阅 运行时依赖项。