logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remko Popma (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LOG4J2-1592) Logging not working properly
Date Sun, 18 Sep 2016 08:47:20 GMT

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

Remko Popma edited comment on LOG4J2-1592 at 9/18/16 8:46 AM:
--------------------------------------------------------------

Please take a look at this manual page: https://logging.apache.org/log4j/2.x/manual/logsep.html

>From your description either option 1 or option 2 under "Using Context Selectors" may
do what you want.

If multiple web applications need to log to the same file, the FileAppender's internal FileManager
must be a single instance, and that only happens if the _logging jars are all placed in the
container's classpath_. (If each web application has its own copy of the logging jars in WEB-INF/lib,
they will be loaded separately by the web application's classloader, and they will not be
able to cooperate during rollovers.)

Now you can either give each web application a separate log4j2.xml configuration (simply place
it in WEB-INF/classes) or you can have a single shared configuration.

Note:
You can trouble-shoot how Log4j 2 is initializing by setting {{<Configuration status="trace"}}
at the beginning of the log4j2.xml configuration file. 
If the configuration file is not found correctly, you can still enable log4j2 internal status
logging by setting system property {{-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE}}.


was (Author: remkop@yahoo.com):
Please take a look at this manual page: https://logging.apache.org/log4j/2.x/manual/logsep.html

>From your description either option 1 or option 2 under "Using Context Selectors" may
do what you want.

If multiple web applications need to log to the same file, the FileAppender's internal FileManager
must be a single instance, and that only happens if the _logging jars are all placed in the
container's classpath_. (If each web application has its own copy of the logging jars in WEB-INF/lib,
they will be loaded separately by the web application's classloader, and they will not be
able to cooperate during rollovers.)

Now you can either give each web application a separate log4j2.xml configuration (simply place
it in WEB-INF/classes) or you can have a single shared configuration.

> Logging not working properly
> ----------------------------
>
>                 Key: LOG4J2-1592
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1592
>             Project: Log4j 2
>          Issue Type: Bug
>         Environment: Linux 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015
x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Farhad Tarapore
>
> I am using the following config
> {code}
> <Configuration status="warn" name="in.transerv" packages="">
>   <Properties>
>     <Property name="baseDir">/var/log/tomcat</Property>
>   </Properties>
>   <Appenders>
>     <RollingFile name="RollingFile" fileName="${baseDir}/app.log"
>           filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd}.log.gz">
>       <PatternLayout pattern="%5p %d{ISO8601} [%t][%x] %c - %m%n" />
>       <TimeBasedTriggeringPolicy/>
>     </RollingFile>
>   </Appenders>
>   <Loggers>
>     <Root level="debug">
>       <AppenderRef ref="RollingFile"/>
>     </Root>
> </Configuration>
> {code}
> In my Tomcat startup, I have specified the log4j.xml file as -Dlog4j.configurationFile=<path
to file>
> It gets initialized properly as I see the logs coming in the app.log
> However, at midnight of each day when it is supposed to rollover, I see the following
directory structure
> {code}
> drwxr-xr-x 2 root root       62 Sep 18 00:00 2016-09
> -rw-r--r-- 1 root root        0 Sep 18 07:48 app.log-2016-09-18
> -rw-r--r-- 1 root root   351893 Sep 18 07:58 app.log
> {code}
> The file for the previous day gets truncated to 0 bytes and the directory 2016-09 contains
NOTHING. 
> I just want to log to app.log and each day, I want to save the previous days log file
as a .gz with the date pattern. But it is not happening.
> I was using log4j 1.x, I switched over to 2.x since I was having issues with log files
getting corrupted (log lines disappearing) when multiple tomcat processes tried to write into
the same file. 
> Please help me since these logs are critical to our application. Thanks.



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

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


Mime
View raw message