Главная ОШИБКА Невозможно найти appender "test" для логгера config "test"
Это мой конфиг 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": "test",
"fileName": "c:/logs/requests_received.log"
},
"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"
}
}
]
}
}
}
когда я использую один файл appenders, он работает нормально. когда я использую два файловых приложения, получающих упоминание об ошибке в title.cant, мы добавляем более одного файлового приложения. Я не хочу использовать приложение для работы с файлами.
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");
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"
}
}
]
}
}
}