[
https://issues.apache.org/jira/browse/LOG4J2-1308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15182336#comment-15182336
]
Ralph Goers edited comment on LOG4J2-1308 at 3/6/16 9:20 PM:
-------------------------------------------------------------
I did this on purpose. To do what you are suggesting you would have to change
{code}
status = error
name = PropertiesConfigTest
property.filename = target/rolling/rollingtest.log
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console, rolling, list
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern =
target/rolling2/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.list.type = List
appender.list.name = List
appender.list.filters = threshold
appender.list.filter.threshold.type = ThresholdFilter
appender.list.filter.threshold.level = error
loggers = rolling
logger.rolling.name = org.apache.logging.log4j.core.appender.rolling
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRefs = rolling
logger.rolling.appenderRef.rolling.ref = RollingFile
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
{code}
to
{code}
status = error
name = PropertiesConfigTest
property.filename = target/rolling/rollingtest.log
filter.type = ThresholdFilter
filter.level = debug
#Note that if multiple filters are specified then you must do the following:
#filters.threshold.type = ThresholdFilter
#filters.threshold.level = debug
#filters.marker.type = Marker
#filters.marker.marker = FLOW
#filters.marker.onMatch = ACCEPT
appenders.console.type = Console
appenders.console.name = STDOUT
appenders.console.layout.type = PatternLayout
appenders.console.layout.pattern = %m%n
appenders.rolling.type = RollingFile
appenders.rolling.name = RollingFile
appenders.rolling.fileName = ${filename}
appenders.rolling.filePattern =
target/rolling2/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appenders.rolling.layout.type = PatternLayout
appenders.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appenders.rolling.policies.type = Policies
appenders.rolling.policies.time.type = TimeBasedTriggeringPolicy
appenders.rolling.policies.time.interval = 2
appenders.rolling.policies.time.modulate = true
appenders.rolling.policies.size.type = SizeBasedTriggeringPolicy
appenders.rolling.policies.size.size=100MB
appenders.list.type = List
appenders.list.name = List
appenders.list.filters = threshold
appenders.list.filter.threshold.type = ThresholdFilter
appenders.list.filter.threshold.level = error
loggers.rolling.name = org.apache.logging.log4j.core.appender.rolling
loggers.rolling.level = debug
loggers.rolling.additivity = false
loggers.rolling.appenderRefs = rolling
loggers.rolling.appenderRef.rolling.ref = RollingFile
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
{code}
Note that because to have multiple filters you actually wrap them in a
composite filter you have to change the syntax with the way you are proposing.
In addition, existing properties configurations would have to be completely
modified.
Before committing anything I'd suggest you post a sample configuration to this
issue.
was (Author: [email protected]):
I did this on purpose. To do what you are suggesting you would have to change
{code}
status = error
name = PropertiesConfigTest
property.filename = target/rolling/rollingtest.log
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console, rolling, list
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern =
target/rolling2/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.list.type = List
appender.list.name = List
appender.list.filters = threshold
appender.list.filter.threshold.type = ThresholdFilter
appender.list.filter.threshold.level = error
loggers = rolling
logger.rolling.name = org.apache.logging.log4j.core.appender.rolling
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRefs = rolling
logger.rolling.appenderRef.rolling.ref = RollingFile
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
{code}
to
{code}
status = error
name = PropertiesConfigTest
property.filename = target/rolling/rollingtest.log
filter.type = ThresholdFilter
filter.level = debug
#Note that if multiple filters are specified then you must do the following:
#filters.threshold.type = ThresholdFilter
#filters.threshold.level = debug
#filters.marker.type = Marker
#filters.marker.marker = FLOW
#filters.marker.onMatch = ACCEPT
appenders.console.type = Console
appenders.console.name = STDOUT
appenders.console.layout.type = PatternLayout
appenders.console.layout.pattern = %m%n
appenders.rolling.type = RollingFile
appenders.rolling.name = RollingFile
appenders.rolling.fileName = ${filename}
appenders.rolling.filePattern =
target/rolling2/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appenders.rolling.layout.type = PatternLayout
appenders.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appenders.rolling.policies.type = Policies
appenders.rolling.policies.time.type = TimeBasedTriggeringPolicy
appenders.rolling.policies.time.interval = 2
appenders.rolling.policies.time.modulate = true
appenders.rolling.policies.size.type = SizeBasedTriggeringPolicy
appenders.rolling.policies.size.size=100MB
appenders.list.type = List
appenders.list.name = List
appenders.list.filters = threshold
appenders.list.filter.threshold.type = ThresholdFilter
appenders.list.filter.threshold.level = error
loggers.rolling.name = org.apache.logging.log4j.core.appender.rolling
loggers.rolling.level = debug
loggers.rolling.additivity = false
loggers.rolling.appenderRefs = rolling
loggers.rolling.appenderRef.rolling.ref = RollingFile
rootLogger.level = info
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
{code}
Note that because to have multiple filters you actually wrap them in a
composite filter you have to change the syntax with the way you are proposing.
In addition, existing properties configurations would have to be completely
modified.
> Remove need to pre-specify appender names et al. in property file config
> format
> -------------------------------------------------------------------------------
>
> Key: LOG4J2-1308
> URL: https://issues.apache.org/jira/browse/LOG4J2-1308
> Project: Log4j 2
> Issue Type: Improvement
> Components: Configurators
> Affects Versions: 2.4, 2.5
> Reporter: Matt Sicker
> Assignee: Matt Sicker
>
> In the .properties config file format, several plugin types currently require
> you to declare names ahead of time. For instance:
> {code}
> appenders = foo, bar, baz
> appender.foo.type = Console
> appender.bar.type = File
> appender.baz.type = List
> # ...
> {code}
> would be transformed into
> {code}
> appender.foo.type = Console
> appender.bar.type = File
> appender.baz.type = List
> # ...
> {code}
> These names should be inferable by their first usage. Then the appenders,
> filters, loggers, etc., properties can all be safely ignored for backwards
> compatibility with 2.4/2.5.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]