You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2018/03/19 16:23:00 UTC
[jira] [Closed] (LOG4J2-2268) Improve error msg if
RollingFileAppender element missing
[ https://issues.apache.org/jira/browse/LOG4J2-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tilman Hausherr closed LOG4J2-2268.
-----------------------------------
Works fine!
> Improve error msg if RollingFileAppender element missing
> --------------------------------------------------------
>
> Key: LOG4J2-2268
> URL: https://issues.apache.org/jira/browse/LOG4J2-2268
> Project: Log4j 2
> Issue Type: Improvement
> Components: Appenders
> Affects Versions: 2.10.0
> Environment: W7
> Reporter: Tilman Hausherr
> Assignee: Ralph Goers
> Priority: Minor
> Fix For: 3.0.0, 2.11.1
>
>
> I did my first migration from log4j 1 to 2; previously I used property and now I wanted to use XML. This is my XML file:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- https://logging.apache.org/log4j/2.x/manual/configuration.html -->
> <Configuration>
> <Appenders>
> <RollingFile name="A1" fileName="XXX/XXX.log">
> <PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss} %-5p %C{2}:%L - %m%n"/>
> <Policies>
> <SizeBasedTriggeringPolicy size="10 MB"/>
> </Policies>
> <DefaultRolloverStrategy fileIndex="nomax" />
> </RollingFile>
> <Console name="STDOUT" target="SYSTEM_OUT">
> <PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss} %-5p %C{2}:%L - %m%n"/>
> </Console>
> </Appenders>
> <Loggers>
> <Logger name="org.springframework" level="warn" additivity="false">
> <AppenderRef ref="STDOUT"/>
> <AppenderRef ref="A1"/>
> </Logger>
> <Logger name="org.apache.pdfbox.pdmodel.font.PDCIDFontType2" level="fatal" additivity="false">
> <AppenderRef ref="STDOUT"/>
> <AppenderRef ref="A1"/>
> </Logger>
> <Root level="info">
> <AppenderRef ref="STDOUT"/>
> <AppenderRef ref="A1"/>
> </Root>
> </Loggers>
> </Configuration>
> {code}
> This brought me this output:
> {quote}
> 2018-02-23 12:28:22,351 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile org.apache.logging.log4j.core.config.ConfigurationException: Arguments given for element RollingFile are invalid
> at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.injectFields(PluginBuilder.java:203)
> at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:121)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:958)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:898)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:890)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:513)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:237)
> at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:249)
> 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:153)
> 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.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:122)
> at org.apache.logging.log4j.jcl.LogAdapter.getContext(LogAdapter.java:39)
> at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
> at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:40)
> at org.apache.logging.log4j.jcl.LogFactoryImpl.getInstance(LogFactoryImpl.java:55)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
> at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:160)
> at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:230)
> at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:92)
> at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
> at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:62)
> at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:141)
> at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)
> at XXXXX.Main.main(Main.java:67)
> 2018-02-23 12:28:22,359 main ERROR Null object returned for RollingFile in Appenders.
> 2018-02-23 12:28:22,370 main ERROR Unable to locate appender "A1" for logger config "org.apache.log4j.xml"
> 2018-02-23 12:28:22,371 main ERROR Unable to locate appender "A1" for logger config "org.springframework"
> 2018-02-23 12:28:22,371 main ERROR Unable to locate appender "A1" for logger config "org.apache.pdfbox.pdmodel.font.PDCIDFontType2"
> {quote}
> Excerpt of my pom.xml:
> {code:xml}
> <dependency>
> <groupId>commons-logging</groupId>
> <artifactId>commons-logging</artifactId>
> <version>1.2</version>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-core</artifactId>
> <version>2.10.0</version>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-api</artifactId>
> <version>2.10.0</version>
> </dependency>
> <dependency>
> <groupId>org.apache.logging.log4j</groupId>
> <artifactId>log4j-jcl</artifactId>
> <version>2.10.0</version>
> </dependency>
> {code}
> After some searching, I found out that {{filePattern}} was missing.
> So my suggestion is that you output a better error message, here: mandatory filePattern parameter is missing.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)