From 225c4424ebbffba843b9f108bce87c36ea9524d6 Mon Sep 17 00:00:00 2001 From: mguessan Date: Sat, 11 May 2013 15:47:47 +0000 Subject: [PATCH] Set davmail.logFileSize to 0 to use an external rotation mechanism, e.g. logrotate git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2102 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/Settings.java | 13 +++++++++---- src/java/davmail/ui/SettingsFrame.java | 2 +- src/java/davmailmessages.properties | 1 + src/java/davmailmessages_fr.properties | 1 + src/site/xdoc/advanced.xml | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/java/davmail/Settings.java b/src/java/davmail/Settings.java index 67078ade..c9677219 100644 --- a/src/java/davmail/Settings.java +++ b/src/java/davmail/Settings.java @@ -251,16 +251,21 @@ public final class Settings { logFilePath = "davmail.log"; } // Build file appender - RollingFileAppender fileAppender = ((RollingFileAppender) rootLogger.getAppender("FileAppender")); + FileAppender fileAppender = (FileAppender) rootLogger.getAppender("FileAppender"); if (fileAppender == null) { String logFileSize = Settings.getProperty("davmail.logFileSize"); if (logFileSize == null || logFileSize.length() == 0) { logFileSize = "1MB"; } - fileAppender = new RollingFileAppender(); + // set log file size to 0 to use an external rotation mechanism, e.g. logrotate + if ("0".equals(logFileSize)) { + fileAppender = new FileAppender(); + } else { + fileAppender = new RollingFileAppender(); + ((RollingFileAppender)fileAppender).setMaxBackupIndex(2); + ((RollingFileAppender)fileAppender).setMaxFileSize(logFileSize); + } fileAppender.setName("FileAppender"); - fileAppender.setMaxBackupIndex(2); - fileAppender.setMaxFileSize(logFileSize); fileAppender.setEncoding("UTF-8"); fileAppender.setLayout(new PatternLayout("%d{ISO8601} %-5p [%t] %c %x - %m%n")); } diff --git a/src/java/davmail/ui/SettingsFrame.java b/src/java/davmail/ui/SettingsFrame.java index 2cce3046..63a01e33 100644 --- a/src/java/davmail/ui/SettingsFrame.java +++ b/src/java/davmail/ui/SettingsFrame.java @@ -516,7 +516,7 @@ public class SettingsFrame extends JFrame { JPanel logFilePathPanel = new JPanel(new GridLayout(2, 2)); addSettingComponent(logFilePathPanel, BundleMessage.format("UI_LOG_FILE_PATH"), logFilePathField); - addSettingComponent(logFilePathPanel, BundleMessage.format("UI_LOG_FILE_SIZE"), logFileSizeField); + addSettingComponent(logFilePathPanel, BundleMessage.format("UI_LOG_FILE_SIZE"), logFileSizeField, BundleMessage.format("UI_LOG_FILE_SIZE_HELP")); JButton defaultButton = new JButton(BundleMessage.format("UI_BUTTON_DEFAULT")); defaultButton.setToolTipText(BundleMessage.format("UI_BUTTON_DEFAULT_HELP")); diff --git a/src/java/davmailmessages.properties b/src/java/davmailmessages.properties index fc76c011..08204aae 100644 --- a/src/java/davmailmessages.properties +++ b/src/java/davmailmessages.properties @@ -296,6 +296,7 @@ UI_CALDAV_EDIT_NOTIFICATIONS=Edit Caldav notifications: UI_CALDAV_EDIT_NOTIFICATIONS_HELP=Enable interactive Caldav edit notification window LOG_SEARCH_RESULT=Found {0} item(s) UI_LOG_FILE_SIZE=Log file size: +UI_LOG_FILE_SIZE_HELP=Use Log4J syntax or set to 0 to use an external rotation mechanism UI_SAVE_IN_SENT=SMTP save in sent: UI_SAVE_IN_SENT_HELP=Save messages sent over SMTP in server Sent folder UI_CERTIFICATE_ALIAS_PROMPT=Select a certificate \ No newline at end of file diff --git a/src/java/davmailmessages_fr.properties b/src/java/davmailmessages_fr.properties index cc636820..e35d3827 100644 --- a/src/java/davmailmessages_fr.properties +++ b/src/java/davmailmessages_fr.properties @@ -226,6 +226,7 @@ UI_CLIENT_SO_TIMEOUT_HELP=D UI_CLIENT_CERTIFICATE=Certificat client (DavMail vers Exchange) UI_LOG_FILE_PATH=Chemin du fichier de traces : UI_LOG_FILE_SIZE=Taille du fichier de traces : +UI_LOG_FILE_SIZE_HELP=Syntaxe Log4J ou 0 pour utiliser un mécanisme externe de rotation LOG_GATEWAY_INTERRUPTED=Arrêt de la passerelle DavMail en cours LOG_GATEWAY_STOP=Passerelle DavMail arrêtée LOG_INVALID_TIMEZONE=Fuseau horaire invalide : {0} diff --git a/src/site/xdoc/advanced.xml b/src/site/xdoc/advanced.xml index 93249f6e..38daef94 100644 --- a/src/site/xdoc/advanced.xml +++ b/src/site/xdoc/advanced.xml @@ -263,7 +263,7 @@ Maximum log file size, use Log4J syntax, see RollingFileAppender - + . Set to 0 to use an external rotation mechanism, e.g. logrotate. 1MB