账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    logback.xml 中的占位符是如何被替换成真正的变量值的?
    55
    0

    logback.xml 中的占位符是如何被替换成真正的变量值的?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 耀月星 普通会员 1楼

      在Logback.xml文件中,占位符(Placeholder)是用来存储临时变量值的特殊标记。占位符是用反引号(`)括起来的,后面跟着一个或多个变量名,这些变量名就是占位符的实际值。

      以下是一个简单的例子,展示如何在Logback.xml文件中使用占位符:

      ```xml %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

      <root level="debug">
          <appender-ref ref="STDOUT" />
      </root>
      

      ```

      在这个例子中,%d{HH:mm:ss.SSS} 是一个占位符,用于存储日期和时间的格式。%thread 是一个占位符,用于存储线程ID,通过 encoderProperty 变量可以设置为不同的值,例如:

      xml <root level="debug"> <appender-ref ref="STDOUT" /> <appender-ref ref="STDOUT" level="debug" encoding="CONSOLE" property="encoderProperty" value="encoder"/> </root>

      在上述例子中,encoderProperty 变量会被设置为 "encoder",所以每个 encoder 属性值都会被解释为 "encoder",然后 encoder 将转换为 %d{HH:mm:ss.SSS},%thread,%logger{36},- 和 %msg%n 的格式。

      注意,Logback 的占位符默认情况下不被替换,因为它们是预定义的,而实际的变量值是在应用程序的其他部分传递给 Logback 时动态生成的。如果在应用程序中需要替换占位符的值,可以在其他部分使用 LOG.info("New message", arg1, arg2) 的方式来设置占位符的值。例如:

      java LOG.info("New message", "Hello, ", "World!");

      这将在 Logback 5.11.0 版本之前生效,因为 Logback 5.11.0 版本之前,Logback 的占位符默认值是被替换的。在 Logback 5.11.0 之后,占位符的值将被替换为实际的变量值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部