]> source.dussan.org Git - gitblit.git/commitdiff
Add GO launch parameter to specify daily, rolling log file generation 11/11/1
authorJames Moger <james.moger@gitblit.com>
Fri, 21 Feb 2014 16:14:47 +0000 (11:14 -0500)
committerJames Moger <james.moger@gitblit.com>
Fri, 21 Feb 2014 16:14:47 +0000 (11:14 -0500)
releases.moxie
src/main/java/com/gitblit/GitBlitServer.java
src/main/java/log4j.properties
src/site/setup_go.mkd

index 4fa313a76f820ed29154405139bea40ec6128dd1..0aa35efaad79cedc1e3da5b6ecd2e8bd7b50157c 100644 (file)
@@ -60,7 +60,8 @@ r20: {
        - Added raw links to the commit, commitdiff, and compare pages (issue-319)
        - Support intradocument linking in Markdown content using [[WikiLinks]] syntax (issue-324)
        - Support Markdown image links relative to the repository root (issue-324)
-       - Added filesystem write permission check (issue-345) 
+       - Added filesystem write permission check (issue-345)
+       - Added GO launch parameter for redirecting logging to a rolling, daily log file (issue-348)
        - Support rendering confluence, mediawiki, textile, tracwiki, and twiki markup documents
        - Added setting to globally disable anonymous pushes in the receive pack
        - Added a normalized diffstat display to the commit, commitdiff, and compare pages
index 522fb57979c2e3b5bde16a535dee52df28479d9e..1e51577a7858fd04b7462d055137b65b84ee6231 100644 (file)
@@ -20,6 +20,7 @@ import java.io.BufferedWriter;
 import java.io.File;\r
 import java.io.FileWriter;\r
 import java.io.IOException;\r
+import java.io.InputStream;\r
 import java.io.InputStreamReader;\r
 import java.io.OutputStream;\r
 import java.net.InetAddress;\r
@@ -33,8 +34,10 @@ import java.text.MessageFormat;
 import java.util.ArrayList;\r
 import java.util.Date;\r
 import java.util.List;\r
+import java.util.Properties;\r
 import java.util.Scanner;\r
 \r
+import org.apache.log4j.PropertyConfigurator;\r
 import org.eclipse.jetty.ajp.Ajp13SocketConnector;\r
 import org.eclipse.jetty.security.ConstraintMapping;\r
 import org.eclipse.jetty.security.ConstraintSecurityHandler;\r
@@ -179,6 +182,34 @@ public class GitBlitServer {
                                settings = new FileSettings(params.settingsfile);\r
                        }\r
                }\r
+\r
+               if (params.dailyLogFile) {\r
+                       // Configure log4j for daily log file generation\r
+                       InputStream is = null;\r
+                       try {\r
+                               is = getClass().getResourceAsStream("/log4j.properties");\r
+                               Properties loggingProperties = new Properties();\r
+                               loggingProperties.load(is);\r
+\r
+                               loggingProperties.put("log4j.appender.R.File", new File(baseFolder, "logs/gitblit.log").getAbsolutePath());\r
+                               loggingProperties.put("log4j.rootCategory", "INFO, R");\r
+\r
+                               if (settings.getBoolean(Keys.web.debugMode, false)) {\r
+                                       loggingProperties.put("log4j.logger.com.gitblit", "DEBUG");\r
+                               }\r
+\r
+                               PropertyConfigurator.configure(loggingProperties);\r
+                       } catch (Exception e) {\r
+                               e.printStackTrace();\r
+                       } finally {\r
+                               try {\r
+                                       is.close();\r
+                               } catch (IOException e) {\r
+                                       e.printStackTrace();\r
+                               }\r
+                       }\r
+               }\r
+\r
                logger = LoggerFactory.getLogger(GitBlitServer.class);\r
                logger.info(Constants.BORDER);\r
                logger.info("            _____  _  _    _      _  _  _");\r
@@ -614,6 +645,9 @@ public class GitBlitServer {
                @Parameter(names = { "--tempFolder" }, description = "Folder for server to extract built-in webapp")\r
                public String temp = FILESETTINGS.getString(Keys.server.tempFolder, "temp");\r
 \r
+               @Parameter(names = { "--dailyLogFile" }, description = "Log to a rolling daily log file INSTEAD of stdout.")\r
+               public Boolean dailyLogFile = false;\r
+\r
                /*\r
                 * GIT Servlet Parameters\r
                 */\r
index ea29bded9b2f620b883889ee540c913711c88239..c6b5d8c3af79e0faa47231fd3e71d0d213d967f5 100644 (file)
@@ -49,9 +49,9 @@ log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n
 log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
 log4j.appender.R.File = logs/gitblit.log
 log4j.appender.R.Append = true
-log4j.appender.R.DatePattern = '.'yyy-MM-dd
+log4j.appender.R.DatePattern = '.'yyyy-MM-dd
 log4j.appender.R.layout = org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c-30{1} [%-5p] %m%n
+log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n
 
 #------------------------------------------------------------------------------
 #
index 5d422fad876ee14dd6d3dc0408ef38219361249a..2e8f864adecfecfdc8849982b9ae71d438dd2346 100644 (file)
@@ -124,6 +124,7 @@ Command-Line parameters override the values in `gitblit.properties` at runtime.
     --alias                Alias in keystore of SSL cert to use for https serving\r
     --storePassword        Password for SSL (https) keystore.\r
     --shutdownPort         Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)\r
+       --dailyLogFile         Redirect logging to a rolling, daily log file instead of stdout\r
     --tempFolder           Folder for server to extract built-in webapp\r
     \r
 **Example**\r
@@ -135,6 +136,6 @@ Command-Line parameters override the values in `gitblit.properties` at runtime.
 You can override Gitblit GO's default Log4j configuration with a command-line parameter to the JVM.\r
 \r
     java -Dlog4j.configuration=file:///home/james/log4j.properties -jar gitblit.jar <optional_gitblit_args>\r
-    \r
-For reference, here is [Gitblit's default Log4j configuration](https://github.com/gitblit/gitblit/blob/master/src/log4j.properties).  It includes some file appenders that are disabled by default. \r
+\r
+You can not use override the default log4j configuration *AND* specify the `--dailyLogFile` parameter.  For reference, here is [Gitblit's default Log4j configuration](https://github.com/gitblit/gitblit/blob/master/src/log4j.properties).  It includes some file appenders that are disabled by default. \r
 \r