【问题标题】:main ERROR Unable to locate appender "test" for logger config "test"主要错误无法找到记录器配置“测试”的附加程序“测试”
【发布时间】:2018-02-22 17:11:21
【问题描述】:

这是我的log4j2`JSON 配置

{
  "Configuration": {
    "Appenders": {
      "Console": {
        "PatternLayout": {
          "pattern": "%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n"
        },
        "name": "Console",
        "target": "SYSTEM_OUT"
      },
      "RollingFile": {
        "name": "general",
        "fileName": "C:/logs/simulator-log.log",
        "filePattern": "C:/logs/simulator-log-%d{yyyy-MM-dd HH-mm-ss}.log",
        "PatternLayout": {
          "pattern": "%msg%n"
        },
        "Policies": {
          "OnStartupTriggeringPolicy": {}
        }
      },
      "File": {
        "PatternLayout": {
          "pattern": "%msg%n"
        },
        "name": "test1",
        "fileName": "c:/logs/response_sent.log"
      }
    },
    "Loggers": {
      "Root": {
        "AppenderRef": [
          {
            "ref": "Console"
          }
        ],
        "level": "trace"
      },
      "logger": [
        {
          "name": "test",
          "level": "trace",
          "additivity": "false",
          "AppenderRef": {
            "ref": "test"
          }
        },
        {
          "name": "test1",
          "level": "trace",
          "additivity": "false",
          "AppenderRef": {
            "ref": "test1"
          }
        },
        {
          "name": "general",
          "level": "trace",
          "additivity": "false",
          "AppenderRef": {
            "ref": "general"
          }
        }
      ]
    }
  }
}

当我使用一个文件附加程序时,它工作正常。当我使用两个文件附加程序在 title.cant 中得到错误提及时,我们添加了超过 1 个文件附加程序。我不想使用滚动文件附加程序。

用于创建记录器变量的 Java 代码

private static final Logger requestsReceived = LogManager.getLogger("test");
private static final Logger responseSent = LogManager.getLogger("test1");
private static final Logger logger = LogManager.getLogger("general");

【问题讨论】:

    标签: java json logging log4j2 fileappender


    【解决方案1】:

    尝试使用type 属性定义您的附加程序,如下所示 -

    {
        "type": "File",
        "PatternLayout": {
            "pattern": "%msg%n"
        },
        "name": "test",
        "fileName": "c:/logs/requests_received.log"
    },
    {
        "type": "File",
        "PatternLayout": {
            "pattern": "%msg%n"
        },
        "name": "test1",
        "fileName": "c:/logs/response_sent.log"
    }
    

    为此,您必须使用type 属性修改所有附加程序配置。您的完整配置文件将更改如下 -

    {
        "Configuration": {
            "Appenders": {
                "appender": [
                    {
                        "type": "Console",
                        "PatternLayout": {
                            "pattern": "%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n"
                        },
                        "name": "Console",
                        "target": "SYSTEM_OUT"
                    },
                    {
                        "type": "RollingFile",
                        "name": "general",
                        "fileName": "C:/logs/simulator-log.log",
                        "filePattern": "C:/logs/simulator-log-%d{yyyy-MM-dd HH-mm-ss}.log",
                        "PatternLayout": {
                            "pattern": "%msg%n"
                        },
                        "Policies": {
                            "OnStartupTriggeringPolicy": {
    
                            }
                        }
                    },
                    {
                        "type": "File",
                        "PatternLayout": {
                            "pattern": "%msg%n"
                        },
                        "name": "test",
                        "fileName": "c:/logs/requests_received.log"
                    },
                    {
                        "type": "File",
                        "PatternLayout": {
                            "pattern": "%msg%n"
                        },
                        "name": "test1",
                        "fileName": "c:/logs/response_sent.log"
                    }
                ]
            },
            "Loggers": {
                "Root": {
                    "AppenderRef": [
                        {
                            "ref": "Console"
                        }
                    ],
                    "level": "trace"
                },
                "logger": [
                    {
                        "name": "test",
                        "level": "trace",
                        "additivity": "false",
                        "AppenderRef": {
                            "ref": "test"
                        }
                    },
                    {
                        "name": "test1",
                        "level": "trace",
                        "additivity": "false",
                        "AppenderRef": {
                            "ref": "test1"
                        }
                    },
                    {
                        "name": "general",
                        "level": "trace",
                        "additivity": "false",
                        "AppenderRef": {
                            "ref": "general"
                        }
                    }
                ]
            }
        }
    }
    

    【讨论】:

    • 它有效。非常感谢您提供完整的 json 配置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2018-08-19
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多