[ 
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)

Reply via email to