tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Romain Manni-Bucau (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TOMEE-1863) Log4J initialized twice for web app
Date Mon, 11 Jul 2016 19:16:11 GMT

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

Romain Manni-Bucau commented on TOMEE-1863:
-------------------------------------------

Hi,

that's the expected behavior AFAIK, issue can be you use static logger (I know it is a common
pattern but it is an anti-pattern in EE land cause of the implied scanning) or log4j doesnt
release appenders when classloaders are trashed.

> Log4J initialized twice for web app
> -----------------------------------
>
>                 Key: TOMEE-1863
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1863
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 1.7.3
>         Environment: Windows Server 2012, Windows 7
>            Reporter: loua
>
> The web application uses slf4j for logging.  The logging implementation is log4j.  The
application contains a log4j.properties file in the WEB-INF\classes directory.  The application
uses JAX-RS and Stateless EJBs.  Log4j is initialized by the TempClassLoader and then again
when the webapp is loaded.  This results in two OS file handles referencing the same log file
(RollingLogFileAppender) that prevents the log file from rolling over.  TomEE logging uses
the default java.util.logging.
> Log4j Debug Output
> =======================================================
> INFO: Deploying web application archive D:\apps\clean\apache-tomee-plus-1.7.3\webapps\log4jweb.war
> Jul 11, 2016 2:05:48 PM org.apache.tomee.catalina.TomcatWebAppBuilder init
> INFO: ------------------------- localhost -> /log4jweb
> Jul 11, 2016 2:05:48 PM org.apache.openejb.config.ConfigurationFactory configureApplication
> INFO: Configuring enterprise application: D:\apps\clean\apache-tomee-plus-1.7.3\webapps\log4jweb
> log4j: Trying to find [log4j.xml] using context classloader org.apache.openejb.core.TempClassLoader@2e341234.
> log4j: Trying to find [log4j.xml] using org.apache.openejb.core.TempClassLoader@2e341234
class loader.
> log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
> log4j: Trying to find [log4j.properties] using context classloader org.apache.openejb.core.TempClassLoader@2e341234.
> log4j: Using URL [file:/D:/apps/clean/apache-tomee-plus-1.7.3/webapps/log4jweb/WEB-INF/classes/log4j.properties]
for automatic log4j configuration.
> log4j: Reading configuration from URL file:/D:/apps/clean/apache-tomee-plus-1.7.3/webapps/log4jweb/WEB-INF/classes/log4j.properties
> log4j: Parsing for [root] with value=[DEBUG, file].
> log4j: Level token is [DEBUG].
> log4j: Category root set to DEBUG
> log4j: Parsing appender named "file".
> log4j: Parsing layout options for "file".
> log4j: Setting property [conversionPattern] to [%d{MM-dd HH:mm:ss,SSS} %-5p %32.32c{1}:%3.3L
- %m%n].
> log4j: End of parsing for "file".
> log4j: Setting property [maxBackupIndex] to [9].
> log4j: Setting property [file] to [D:/apps/clean/apache-tomee-plus-1.7.3/logs/log4jweb.log].
> log4j: Setting property [maxFileSize] to [10KB].
> log4j: setFile called: D:/apps/clean/apache-tomee-plus-1.7.3/logs/log4jweb.log, true
> log4j: setFile ended
> log4j: Parsed "file" options.
> log4j: Parsing for [simple] with value=[DEBUG].
> log4j: Level token is [DEBUG].
> log4j: Category simple set to DEBUG
> log4j: Handling log4j.additivity.simple=[null]
> log4j: Finished configuring.
> ...
> INFO: Enterprise application "D:\apps\clean\apache-tomee-plus-1.7.3\webapps\log4jweb"
loaded.
> Jul 11, 2016 2:05:48 PM org.apache.openejb.assembler.classic.Assembler createApplication
> INFO: Assembling app: D:\apps\clean\apache-tomee-plus-1.7.3\webapps\log4jweb
> log4j: Trying to find [log4j.xml] using context classloader LazyStopWebappClassLoader
>   context: /log4jweb
>   delegate: false
>   repositories:
>     /WEB-INF/classes/
> ----------> Parent Classloader:
> org.apache.catalina.loader.StandardClassLoader@51521cc1
> .
> log4j: Trying to find [log4j.xml] using LazyStopWebappClassLoader
>   context: /log4jweb
>   delegate: false
>   repositories:
>     /WEB-INF/classes/
> ----------> Parent Classloader:
> org.apache.catalina.loader.StandardClassLoader@51521cc1
>  class loader.
> log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
> log4j: Trying to find [log4j.properties] using context classloader LazyStopWebappClassLoader
>   context: /log4jweb
>   delegate: false
>   repositories:
>     /WEB-INF/classes/
> ----------> Parent Classloader:
> org.apache.catalina.loader.StandardClassLoader@51521cc1
> .
> log4j: Using URL [file:/D:/apps/clean/apache-tomee-plus-1.7.3/webapps/log4jweb/WEB-INF/classes/log4j.properties]
for automatic log4j configuration.
> log4j: Reading configuration from URL file:/D:/apps/clean/apache-tomee-plus-1.7.3/webapps/log4jweb/WEB-INF/classes/log4j.properties
> log4j: Parsing for [root] with value=[DEBUG, file].
> log4j: Level token is [DEBUG].
> log4j: Category root set to DEBUG
> log4j: Parsing appender named "file".
> log4j: Parsing layout options for "file".
> log4j: Setting property [conversionPattern] to [%d{MM-dd HH:mm:ss,SSS} %-5p %32.32c{1}:%3.3L
- %m%n].
> log4j: End of parsing for "file".
> log4j: Setting property [maxBackupIndex] to [9].
> log4j: Setting property [file] to [D:/apps/clean/apache-tomee-plus-1.7.3/logs/log4jweb.log].
> log4j: Setting property [maxFileSize] to [10KB].
> log4j: setFile called: D:/apps/clean/apache-tomee-plus-1.7.3/logs/log4jweb.log, true
> log4j: setFile ended
> log4j: Parsed "file" options.
> log4j: Parsing for [simple] with value=[DEBUG].
> log4j: Level token is [DEBUG].
> log4j: Category simple set to DEBUG
> log4j: Handling log4j.additivity.simple=[null]
> log4j: Finished configuring.



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

Mime
View raw message