You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Remko Popma (JIRA)" <ji...@apache.org> on 2014/08/06 14:01:16 UTC
[jira] [Updated] (LOG4J2-726) logging hang when PatternLayout's
pattern has miss pattern
[ https://issues.apache.org/jira/browse/LOG4J2-726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remko Popma updated LOG4J2-726:
-------------------------------
Description:
{code}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="com.foo.Bar" level="trace" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
{code}
The above configuration syntax is correct. However, if one makes a mistake and instead writes:
{code}
<PatternLayout pattern="%d\{HH:mm:ss.SSS [%t] %-5level %logger\{36\} - %msg%n"/>
{code}
Note the ommited character "\}" in the date pattern.
Run sample application.
This will hang log4j2 logging system.
sample source code:
{code}
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class HelloWorld {
private static Logger logger = LogManager.getLogger("HelloWorld");
public static void main(String[] args) {
logger.info("Hello, World!");
}
}
{code}
appear pattern configuration error or logging print miss pattern.
was:
1.<?xml version="1.0" encoding="UTF-8"?>
2.<Configuration status="WARN">
3. <Appenders>
4. <Console name="Console" target="SYSTEM_OUT">
5. <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
6. </Console>
7. </Appenders>
8. <Loggers>
9. <Logger name="com.foo.Bar" level="trace" additivity="false">
10. <AppenderRef ref="Console"/>
11. </Logger>
12. <Root level="error">
13. <AppenderRef ref="Console"/>
14. </Root>
15. </Loggers>
16.</Configuration>
correct configuration syntax.
5. <PatternLayout pattern="%d{HH:mm:ss.SSS [%t] %-5level %logger{36} - %msg%n"/>
write miss pattern 5 line. ommited character "}"
run sample application.
hang log4j2 logging system.
sample source blow.
import org.apache.logging.log4j.LogManager;
2.import org.apache.logging.log4j.Logger;
3.
4.public class HelloWorld {
5. private static Logger logger = LogManager.getLogger("HelloWorld");
6. public static void main(String[] args) {
7. logger.info("Hello, World!");
8. }
9.}
appear pattern configuration error or logging print miss pattern.
> logging hang when PatternLayout's pattern has miss pattern
> ----------------------------------------------------------
>
> Key: LOG4J2-726
> URL: https://issues.apache.org/jira/browse/LOG4J2-726
> Project: Log4j 2
> Issue Type: Bug
> Components: Configurators
> Affects Versions: 2.0
> Environment: windows 8.1 64bit
> java 1.7.0_55 64bit
> log4j2 2.0
> Reporter: moonumi
>
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration status="WARN">
> <Appenders>
> <Console name="Console" target="SYSTEM_OUT">
> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
> </Console>
> </Appenders>
> <Loggers>
> <Logger name="com.foo.Bar" level="trace" additivity="false">
> <AppenderRef ref="Console"/>
> </Logger>
> <Root level="error">
> <AppenderRef ref="Console"/>
> </Root>
> </Loggers>
> </Configuration>
> {code}
> The above configuration syntax is correct. However, if one makes a mistake and instead writes:
> {code}
> <PatternLayout pattern="%d\{HH:mm:ss.SSS [%t] %-5level %logger\{36\} - %msg%n"/>
> {code}
> Note the ommited character "\}" in the date pattern.
> Run sample application.
> This will hang log4j2 logging system.
> sample source code:
> {code}
> import org.apache.logging.log4j.LogManager;
> import org.apache.logging.log4j.Logger;
>
> public class HelloWorld {
> private static Logger logger = LogManager.getLogger("HelloWorld");
> public static void main(String[] args) {
> logger.info("Hello, World!");
> }
> }
> {code}
> appear pattern configuration error or logging print miss pattern.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org