博客
关于我
Log4j2.xml中动态读取配置
阅读量:793 次
发布时间:2023-02-06

本文共 781 字,大约阅读时间需要 2 分钟。

log4j2支持多种方式获取值添加进入日志中,这种机制源于其lookup功能的设计。为了深入理解这一特性,可以查阅官方文档或查看相关代码,例如org.apache.logging.log4j.core.lookup包下的实现,这将有助于掌握框架的内部工作原理,并在需要时自行扩展功能。

以下是一些常用的配置方式,基于实际使用经验总结:

1. bundle配置方式

${bundle:BundleName:BundleKey}

  • 作用:通过bundle标识符指定读取配置文件的前缀。
  • 结构解析
    • BundleName:通常是配置文件的文件名,例如application.properties
    • BundleKey:指定需要读取的具体配置键。
  • 示例
    ${bundle:application:log.path}
    这将从application.properties中读取log.path的值,类似于return ResourceBundle.getBundle(bundleName).getString(bundleKey)

2. sys配置方式

${sys:some.property}${sys:some.property:-default_value}

  • 作用:用于读取系统属性,类似于System.getProperty()方法,适用于JVM参数等环境变量。
  • 结构解析
    • some.property:指定需要读取的属性键。
    • default_value:指定默认值,若系统属性中未找到对应键时使用。
  • 示例
    ${sys:test.log.path:-/opt/logs/}
    这将从系统属性中读取test.log.path的值,若未找到则使用默认值-/opt/logs/

通过以上方式,log4j2提供了灵活的配置方式,能够根据具体需求动态读取配置信息。

转载地址:http://ddufk.baihongyu.com/

你可能感兴趣的文章
Log4j日志级别 转
查看>>
log4j日志输出格式
查看>>
log4j日志输出格式一览
查看>>
log4j框架搭建
查看>>
Log4j漏洞?一行代码都不改就能永久修复?
查看>>
Log4J的配置
查看>>
log4j的配置说明
查看>>
log4j补充
查看>>
log4j记录日志
查看>>
Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合
查看>>
Log4j配置详解和实例
查看>>
Log4Net组件的应用详解
查看>>
log4net配置,正在用
查看>>
Logback configuration error detected:D:\log\exchange-platform\info.2021-07-27.log (系统找不到指定的路径。)
查看>>
Logback 配置文件例
查看>>
logback-spring.xml配置
查看>>
logback.xml 配置详解(1)
查看>>
logback.xml配置
查看>>
logback.xml配置导入spring无法启动:ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while par
查看>>
logback异步日志AsyncAppender配置
查看>>