2017-09-13 5 views
4

ceci est mon log4j2 JSON configprincipale erreur Impossible de localiser appender "test" pour "test" de configuration de l'enregistreur

{ 
"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" 
     } 
     } 
    ] 
    } 
} 

}

quand j'utilise un fichier appenders il fonctionne très bien. quand j'utilise deux appenders de fichier obtenant l'erreur mentionnée dans le title.cant nous ajoutons plus de 1 appenders de dossier. Je ne veux pas utiliser un appender de fichier roulant.

Veuillez ignorer s'il vous plaît "Il semble que votre message est principalement le code, s'il vous plaît ajouter plus de détails.quel plus de détails vous voulez? Je pense que j'ai transmis tout ce que vous voulez que j'ajoute. problème."

code Java pour créer des variables de l'enregistreur

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

Répondre

2

Essayez de définir vos appenders en utilisant type attribut comme ci-dessous -

{ 
    "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" 
} 

Pour cela, vous devez modifier appender toute configuration à l'aide type attribut. Votre fichier de configuration complet va changer comme ci-dessous -

{ 
    "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" 
        } 
       } 
      ] 
     } 
    } 
} 
+0

Cela fonctionne. Merci beaucoup d'avoir fourni la config complète de json. – hmmm