Ich habe versucht, Appender programmatisch zu konfigurieren, aber bisher keinen Erfolg. Ich möchte nur appender ohne Datei konfigurieren, so dass es Protokolle an die Konsole oder Datei senden kann.Wie programmiere Appender programmatisch oder initialisiere Logging in log4j2?
String PATTERN = "%d [%p|%c|%C{1}] %m%n";
PatternLayout layout = PatternLayout.createLayout(PATTERN, null, null,
null, null, null);
ConsoleAppender console = ConsoleAppender.createAppender(layout, null,
null, "console", "true", "true"); // create appender
AppenderRef appender = AppenderRef.createAppenderRef("console",
"DEBUG", null);
logger = (Logger) LogManager.getLogger(InitLogger.class);
LoggerContext context = logger.getContext();
BaseConfiguration configuration =(BaseConfiguration) context.getConfiguration();
configuration.addAppender(console);
logger.addAppender(configuration.getAppender("console"));
Sie benötigen Appen zum rootLogger zurücksetzen und hinzufügen. Siehe [diesen Beitrag] (http://stackoverflow.com/questions/8965946/configuring-log4j-loggers-programmatisch) – Stefan
Dieser Beitrag spricht über log4j1, also ist dies nicht hilfreich. Diese – Akhilesh
war möglich mit Hilfe von ConfigurationFactory von log4j2 [link] [1] [1]: http://stackoverflow.com/questions/20886717/configure-log4j2-programmatically-using-configurationfactory – Akhilesh