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 "Mihhail Lapushkin (JIRA)" <ji...@apache.org> on 2017/03/12 17:10:04 UTC

[jira] [Comment Edited] (LOG4J2-1842) Expand SystemPropertiesLookup syntax

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

Mihhail Lapushkin edited comment on LOG4J2-1842 at 3/12/17 5:09 PM:
--------------------------------------------------------------------

Hm, that's a nice discovery. The syntax is actually: {{${sys:some.property:-defaultValue}}} (note the dash). Maybe it would be enough for me ATM.
However, I am opened to refactor this to be part of `StrSubstitutor`.


was (Author: mlap):
Hm, that's a nice discovery. The syntax is actually: `${sys:some.property:-defaultValue}` (note the dash). Maybe it would be enough for me ATM.
However, I am opened to refactor this to be part of `StrSubstitutor`.

> Expand SystemPropertiesLookup syntax
> ------------------------------------
>
>                 Key: LOG4J2-1842
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1842
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Lookups
>            Reporter: Mihhail Lapushkin
>            Priority: Minor
>
> I've been using a modified version of {{SystemPropertiesLookup}} in my project. Maybe it could be part of the library.
> The idea is to allow a series of property keys to be specified. If one of the properties is present, then it is used. If none are present, then the default value is used. For example:
> {code}
> <Logger name="com.myapp.dao" level="${sys:myapp.log.level|myapp.log.level.dao|warn}"/>
> <Logger name="com.myapp.service" level="${sys:myapp.log.level|myapp.log.level.service|warn}"/>
> <Logger name="com.myapp.controller" level="${sys:myapp.log.level|myapp.log.level.controller|warn}"/>
> {code}
> This allows me to quickly rerun the app with different log levels without fiddling with the configuration file or JConsole. Defaults represent production settings, so that nothing extra needs to be specified to run the app.
> This work nice in other places as well:
> {code}
> <PatternLayout disableAnsi="${sys:myapp.log.nocolor|true}">
> {code}
> Disables colors by default (for production build), but leaves an easy way to turn them on for development.
> When no pipes are present in the expression, then the standard property lookup is used, so the change is backwards-compatible.
> Can be a separate lookup if needed.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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