[Geoserver-devel] [JIRA] (GEOS-7213) Allow to use DailyRollingFileAppender

Landry Breuil created an issue

GeoServer / ImprovementGEOS-7213

Allow to use DailyRollingFileAppender

Issue Type:

ImprovementImprovement

Assignee:

Unassigned

Components:

Main

Created:

25/Sep/15 11:50 AM

Priority:

LowLow

Reporter:

Landry Breuil

Original Estimate:

5 minutes

Remaining Estimate:

5 minutes

In https://github.com/geoserver/geoserver/blob/master/src/main/src/main/java/org/geoserver/logging/LoggingUtils.java#L81 the code enforces the use of the RollingFileAppender when logging, while one might want to use a DailyRollingFileAppender.

It is still possible but you have to specify the File property directly in the .properties file instead of relying on the one set in logging.xml - which is a bit annoying since some warnings are spewed in the log.

log4j.appender.geoserverlogfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.geoserverlogfile.DatePattern='.'yyyy-MM-dd
log4j.appender.geoserverlogfile.File=/srv/log/tomcat/geoserver.log

It would be nice to allow DailyRollingFileAppender to be used (and still rely on the globally set logfile path) - probably by changing the check for being instanceof org.apache.log4j.FileAppender which should match both RollingFileAppender and DailyRollingFileAppender.

--- a/src/main/src/main/java/org/geoserver/logging/LoggingUtils.java
+++ b/src/main/src/main/java/org/geoserver/logging/LoggingUtils.java
@@ -74,7 +74,7 @@ public class LoggingUtils {
             // configuring the log4j file logger
             if(!suppressFileLogging) {
                     Appender gslf = org.apache.log4j.Logger.getRootLogger().getAppender("geoserverlogfile");
-                    if (gslf instanceof org.apache.log4j.RollingFileAppender) {
+                    if (gslf instanceof org.apache.log4j.FileAppender) {
                         if (logFileName == null ) {
                             logFileName = new File(loader.findOrCreateDirectory("logs"),  "geoserver.log").getAbsolutePath();
                         } else { 
@@ -87,7 +87,7 @@ public class LoggingUtils {
                         PropertyConfigurator.configure(lprops);
                         LoggingInitializer.LOGGER.fine("Logging output to file '" + logFileName + "'");
                     } else if (gslf != null) {
-                        LoggingInitializer.LOGGER.warning("'log4j.appender.geoserverlogfile' appender is defined, but isn't a RollingFileA
+                        LoggingInitializer.LOGGER.warning("'log4j.appender.geoserverlogfile' appender is defined, but isn't a FileAppender
                     } else {
                         LoggingInitializer.LOGGER.warning("'log4j.appender.geoserverlogfile' appender isn't defined.  GeoServer won't cont
                     }

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v7.0.0-OD-06-002#70102-sha1:82bb17d)

Atlassian logo