Adonis Settouf created LOG4J2-1825:
--------------------------------------
Summary: 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
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: [email protected]
For additional commands, e-mail: [email protected]