[
https://issues.apache.org/jira/browse/LOG4J2-3353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17479021#comment-17479021
]
Ralph Goers edited comment on LOG4J2-3353 at 1/19/22, 11:15 PM:
----------------------------------------------------------------
The additivity property is meaningless on the Root logger. See
[https://logging.apache.org/log4j/2.x/manual/configuration.html#Additivity.]
When additivity is true then events that were handled by a particular logger
will also be delegated to its parents. The root logger has no parents.
I have copied the rest of the answer from Stackoverflow here.
Out of the box, Log4j 1 does not support configuration via Groovy. From what I
can tell you are providing a basic log4j 1.x configuration and then the Groovy
tools is modifying that configuration. I can't be sure what all of the syntax
means without looking at the tools documentation. However, it seems pretty
clear that the lines doing
{code:java}
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate' {code}
are declaring individual loggers at the error level.
So you would need to add lines to your configuration such as
{code:java}
logger.org.hibernate.level=error{code}
to match what your Groovy code is doing.
was (Author: [email protected]):
The additivity property is meaningless on the Root logger. See
[https://logging.apache.org/log4j/2.x/manual/configuration.html#Additivity.]
When additivity is true then events that were handled by a particular logger
will also be delegated to its parents. The root logger has no parents.
I have copied the rest of the answer from Stackoverflow here.
Out of the box, Log4j 1 does not support configuration via Groovy. From what I
can tell you are providing a basic log4j 1.x configuration and then the Groovy
tools is modifying that configuration. I can't be sure what all of the syntax
means without looking at the tools documentation. However, it seems pretty
clear that the lines doing
{code:java}
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate' {code}
are declaring individual loggers at the error level.
So you would need to add lines to your configuration such as
logger.org.hibernate.level=error
to match what your Groovy code is doing.
> Additive property always set to true
> ------------------------------------
>
> Key: LOG4J2-3353
> URL: https://issues.apache.org/jira/browse/LOG4J2-3353
> Project: Log4j 2
> Issue Type: Bug
> Components: Core, Log4j 1.2 bridge
> Affects Versions: 2.17.1
> Environment:
> [stackoverflow|https://stackoverflow.com/questions/70741835/internal-grails-logs-appearing-after-log4j2-upgrade]
> Reporter: Jitin Dominic
> Priority: Major
>
> During upgrading log4j2 in grails 2.5.4 application, I removed all log4j
> 1.2.17 dependencies and added following dependencies pertaining to v2.17.1:
> * log4j-api
> * log4j-core
> * log4j-1.2-api
> * log4j-slf4j-impl
>
> Here's my _log4j2.properties_ file present under conf directory:
> {code:java}
> rootLogger.level = INFO
> rootLogger.additivity = false
> rootLogger.appenderRefs = stdout
> rootLogger.appenderRef.stdout.ref = STDOUT
> appender.console.type = Console
> appender.console.name = STDOUT
> appender.console.layout.type = PatternLayout
> appender.console.layout.pattern = %m%n
> {code}
>
> I noticed that internal framework logs were also appearing and on further
> debugging I found that the additivity property for root logger was set to
> true (even when it is set to _false_ in properties file).
>
> I've posted a question with further details on
> [stackoverflow|https://stackoverflow.com/questions/70741835/internal-grails-logs-appearing-after-log4j2-upgrade].
--
This message was sent by Atlassian Jira
(v8.20.1#820001)