logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Gysel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-905) Ability to disable (date) lookup completely, compatibility issues with other libraries like camel
Date Fri, 27 May 2016 06:53:14 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303656#comment-15303656
] 

Michael Gysel commented on LOG4J2-905:
--------------------------------------

I just found this issue as well.

> Out of curiosity, what does the application expect to happen when they log ${date:now:buhu}?

Probably nothing. Just log it as it is.

> How is camel expecting to do anything with this message? Is it being routed into camel
somehow?

I found the following scenario: Then you advice a route (http://camel.apache.org/advicewith.html)
it logs the route definition. In my case this definition contains some camel instructions
to include the current date. But when logging this route, I do not expect log4j2 to substitute
the placeholders.



> Ability to disable (date) lookup completely, compatibility issues with other libraries
like camel
> -------------------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-905
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-905
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Lookups
>            Reporter: moritz löser
>            Priority: Critical
>              Labels: date, lookup
>
> (see [here|http://stackoverflow.com/questions/27103400/log4j2-how-to-disable-date-lookup-log4j-throws-exception]
for some details )
> At the moment it is not possible to log stuff like this:
> {noformat}
> log.info("${date:now:buhu}");
> {noformat}
> ("ERROR Invalid date format: "now:yyyyMMdd-HHmmss", using default java.lang.IllegalArgumentException:
Illegal pattern character 'n'")
> Because log4j2 tries to change the logged output - want to substitute a date. This is
intransparently limiting the logging. 
> nobody knows what kind of strings are allowed and what kind of strings will be interpreted
by log4j2. But it becomes worse if you use slf4j and switch the logger implementation to log4j2
- it could happen that just switching breaks your code.
> This is a *real issue* if you use libraries like *apache camel* because camel itself
uses strings like {noformat}${date:now:YYYY...}{noformat} to substitute stuff like file names.
see http://camel.apache.org/simple.html
> At the moment camel is logging this stuff on debug (sometime i need it to see if i correctly
set up camel) so it is no production issue here. But what about other libraries or the future?
> The only way i see is a switch to disable all kinds of lookups and it should probably
off by default.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message