Ho cercato di configurare appender in modo programmatico, ma non ho avuto successo finora. voglio solo configurare appender senza file in modo che possa inviare i registri alla console o al file.Come configurare gli appendici o inizializzare la registrazione in log4j2 in modo programmatico?
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"));
È necessario reimpostare e aggiungere i appenders al rootLogger. Vedi [questo post] (http://stackoverflow.com/questions/8965946/configuring-log4j-loggers-programmatically) – Stefan
Questo post parla di log4j1, quindi questo non è utile. – Akhilesh
Questo è stato possibile con l'aiuto di ConfigurationFactory di log4j2 [link] [1] [1]: http://stackoverflow.com/questions/20886717/configure-log4j2-programmatically-using-configurationfactory – Akhilesh