java - Log4j2无法扩展系统属性user.home

标签 java log4j

我在 Spring Boot 应用程序中使用 log4j2 进行日志记录。

当我在fileName中设置绝对路径时,我可以看到正在创建日志文件。 但是,user.home 无法正常工作,这使得配置系统具有依赖性。

我在这里做错了什么?

log4j2.yaml:

Configutation:
  name: Default


  Appenders:

    RollingFile:
      - name: RollingFile_Appender
        fileName: ${user.home}/deepscan.log
        filePattern: "deepscan.log.%i.gz"
        PatternLayout:
          pattern: "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n"
        Policies:
          SizeBasedTriggeringPolicy:
            size: 20 MB
        DefaultRollOverStrategy:
          max: 10

  Loggers:

      Logger:
        - name: com.home.test
          additivity: false
          level: debug
          AppenderRef:
            - ref: RollingFile_Appender
              level: info

最佳答案

您必须根据 https://logging.apache.org/log4j/2.x/manual/lookups.html 指定查找方法

所以这就是

fileName: ${sys:user.home}

关于java - Log4j2无法扩展系统属性user.home,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49506251/

相关文章:

java - 什么是NullPointerException,我该如何解决?

java - Mockito 在调用具有可变数量参数的方法时使用参数匹配器

登录特定 Controller 的 grails

java - 重用floatActionButton android

java - 为什么 PrepareStatement 没有生成正确的 SQL 查询?

java - 在maven中,如何在发布版本中命名与快照构建中不同的war文件

java - 如何使用 Log4j 将自定义属性记录到 AppInsight?

java - log4j:与 appender 阈值不同的类别优先级

java - SLF4J 是否适合用于多线程应用程序以记录到数据库?

java - log4j 通过 System.out.println