[ https://issues.apache.org/jira/browse/LOG4J2-1825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adonis Settouf updated LOG4J2-1825: ----------------------------------- Attachment: ms-dos-stacktrace log4j2.properties The properties file and the stack trace > Log4j2 throwing an error in Windows bash console > ------------------------------------------------ > > Key: LOG4J2-1825 > URL: https://issues.apache.org/jira/browse/LOG4J2-1825 > Project: Log4j 2 > Issue Type: Bug > Components: Appenders > Affects Versions: 2.8 > Environment: Windows 7 (at least) > Reporter: Adonis Settouf > Attachments: log4j2.properties, ms-dos-stacktrace > > > Good morning, > using log4j2 in my project (see below the configuration) running it, > everything went ok in Eclipse. Then building the jar and executing it in a > bash Windows, I get an error thrown regarding the "Console Appender". After > investigation, it works in other shells (like git bash), my question here is > about if this behavior is documented somewhere ?(because after googling it a > lot, I did not find anything relevant). > My log4j2.properties: > name=PropertiesConfig > property.directory = ./logs > appenders = console, file, testFile > appender.console.type = Console > appender.console.target =SYSTEM_OUT > appender.console.name = STDOUT > appender.console.layout.type = PatternLayout > appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} > [%t] %c{1} line %L - %msg%n > appender.file.type = File > appender.file.append = false > appender.file.name = LOGFILE > > appender.file.fileName=${directory}/neoswitcher-${date:yyyy-MM-dd-HH-mm-ss}.log > appender.file.layout.type=PatternLayout > appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] > %c{1} - %msg%n > appender.testFile.type = File > appender.testFile.append = false > appender.testFile.name = LOGTestFILE > > appender.testFile.fileName=${directory}/test-suite-${date:yyyy-MM-dd-HH-mm-ss}.log > appender.testFile.layout.type=PatternLayout > appender.testFile.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} > [%t] %c{1} - %msg%n > loggers=file > logger.file.name=org.test.controller.core > logger.file.level = info > logger.file.appenderRefs = file > logger.file.appenderRef.file.ref = LOGFILE > loggers=file > logger.testFile.name=org.simpleperftests.core; > logger.testFile.level = info > logger.testFile.appenderRefs = testFile > logger.testFile.appenderRef.file.ref = LOGTestFILE > rootLogger.level = info > rootLogger.appenderRefs = stdout, file, testFile > rootLogger.appenderRef.stdout.ref = STDOUT > rootLogger.appenderRef.file.ref = LOGFILE > rootLogger.appenderRef.testFile.ref = LOGTestFILE > And here the error occuring in the MS-DOS console: > 2017-02-24 10:55:11,994 main ERROR Unable to inject fields into builder class > for plugin type class org.apache.logging.log4j.core.appender.ConsoleAppender, > element Cons > ole. java.nio.charset.UnsupportedCharsetException: sun.stdout.encoding > at java.nio.charset.Charset.forName(Charset.java:531) > at > org.apache.logging.log4j.util.PropertiesUtil.getCharsetProperty(PropertiesUtil.java:146) > at > org.apache.logging.log4j.util.PropertiesUtil.getCharsetProperty(PropertiesUtil.java:134) > at > org.apache.logging.log4j.core.appender.ConsoleAppender$Target.getCharset(ConsoleAppender.java:85) > at > org.apache.logging.log4j.core.appender.ConsoleAppender$Target$1.getDefaultCharset(ConsoleAppender.java:71) > at > org.apache.logging.log4j.core.appender.ConsoleAppender$Builder.build(ConsoleAppender.java:218) > at > org.apache.logging.log4j.core.appender.ConsoleAppender$Builder.build(ConsoleAppender.java:185) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551) > at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537) > at org.test.controller.core.App.<clinit>(App.java:14) > 2017-02-24 10:55:12,001 main ERROR Unable to invoke factory method in class > class org.apache.logging.log4j.core.appender.ConsoleAppender for element > Console. java.lang. > IllegalStateException: No factory method found for class > org.apache.logging.log4j.core.appender.ConsoleAppender > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:224) > at > org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:130) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232) > at > org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244) > at > org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617) > at > org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634) > at > org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152) > at > org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) > at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194) > at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551) > at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537) > at org.test.controller.core.App.<clinit>(App.java:14) > 2017-02-24 10:55:12,012 main ERROR Null object returned for Console in > Appenders. > 2017-02-24 10:55:12,012 main ERROR Unable to locate appender "STDOUT" for > logger config "root" -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org