【问题标题】:Log4J2 Yaml Package LevelsLog4J2 Yaml 包级别
【发布时间】:2018-08-10 21:09:37
【问题描述】:

我正在尝试使用 log4j2 和 yaml 进行日志记录,并且一直在苦苦挣扎。

com.eclipse 包非常嘈杂,所以我只想在警告或以上时记录来自该包的消息。对于我的包,我想将调试及以上记录到滚动附加程序,并将错误或以上记录到错误日志。在控制台上,我想查看除 org.ecplise 之外的所有内容的调试

使用我当前的配置,我看不到很好的 org.eclipse 调试消息,我在控制台上看到了 com.myorganization 消息,但文件附加程序似乎没有工作。如果我更改最后两个记录器的顺序,那么 org.eclipse 消息会返回到控制台,但我的包的文件附加程序开始工作。任何帮助将不胜感激。

这是我当前的配置:

Configuration:
  name: Default

  Properties:
    Property:
      name: log-path
      value: "logs"

  Appenders:

    Console:
      PatternLayout:
        pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'
      name: Console
      target: SYSTEM_OUT

    File:
      name: File_Appender
      fileName: ${log-path}/minimal-ws.error.log
      PatternLayout:
        pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'

    RollingFile:
      - name: RollingFile_Appender
        fileName: ${log-path}/minimal-ws.log
        filePattern: 'logs/archive/minimal-ws.log.%d{yyyy-MM-dd-hh-mm}.gz'
        PatternLayout:
          pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'
        Policies:
          SizeBasedTriggeringPolicy:
            size: 10 MB
        DefaultRollOverStrategy:
          max: 10

  Loggers:

    Root:
      AppenderRef:
      - ref: Console
      level: DEBUG

    Logger:
      - name: com.myorganization
        level: DEBUG
        AppenderRef:
          - ref: File_Appender
            level: ERROR
          - ref: RollingFile_Appender
            level: DEBUG

    Logger:
      - name: org.eclipse
        level: DEBUG
        additivity: false
        AppenderRef:
        - ref: Console
          level: WARN

【问题讨论】:

  • 您在这个文件上有缩进问题,不确定是不是因为复制/粘贴。你能检查根记录器上的level: DEBUGorg.eclipse 记录器上的- ref: Console,它们都需要在右侧的一个选项卡上

标签: java logging yaml packages log4j2


【解决方案1】:

您不需要在yaml 中定义多个Logger:。而是使用具有多个 - name: 属性的单个 Logger: 定义。以下是根据您的要求的工作解决方案。 [请相应地更改包名称。]

Configuration:
  name: Default

  Properties:
    Property:
      name: log-path
      value: "."

  Appenders:

    Console:
      PatternLayout:
        pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'
      name: Console
      target: SYSTEM_OUT

    File:
      name: File_Appender
      fileName: ${log-path}/minimal-ws.error.log
      PatternLayout:
        pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'

    RollingFile:
      - name: RollingFile_Appender
        fileName: ${log-path}/minimal-ws.log
        filePattern: 'logs/archive/minimal-ws.log.%d{yyyy-MM-dd-hh-mm}.gz'
        PatternLayout:
          pattern: '%d{yyyy-MM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n'
        Policies:
          SizeBasedTriggeringPolicy:
            size: 10 MB
        DefaultRollOverStrategy:
          max: 10

  Loggers:
    Root:
      AppenderRef:
      - ref: Console
        level: ERROR

    Logger:
      - name: eclipse
        level: DEBUG
        additivity: false
        AppenderRef:
        - ref: Console
          level: DEBUG
        - ref: File_Appender
          level: DEBUG
      - name: com
        level: DEBUG
        additivity: false
        AppenderRef:
          - ref: Console
            level: INFO
          - ref: File_Appender
            level: ERROR
          - ref: RollingFile_Appender
            level: DEBUG

此配置写入ConsoleFile_AppenderRollingFile_Appender

【讨论】:

    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 2017-10-01
    • 2018-04-20
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多