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: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to