Posted on 2016-04-30 19:48
ZhouFeng 閱讀(1457)
評論(0) 編輯 收藏 所屬分類:
原創 、
Web服務器
Tomcat控制臺啟動日志是由java.util.logging.Logger實現的,我只是希望能自己定義輸出格式,找了下文檔,發現在%CATALINA_HOME%\conf目錄下面有個logging.properties文件,里面有項內容為:
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
這里的formatter需要通過類來實現,要是能在這里直接寫formatter格式字串就好了,繼續研究下吧。
電腦上安裝的是Tomcat8,找了下官網上的文檔,有關于使用Log4j作為日志的配置
http://tomcat.apache.org/tomcat-8.0-doc/logging.html#Using_Log4j
就試下了,下面是官網的實現步驟,文中描述的%CATALINA_HOME%是指Tomcat安裝目錄
1. 準備日志配置文件
官網上有一個配置文件,先拿來用下,后面根據自己的需要再慢慢作調整,保存到%CATALINA_HOME%\lib\log4j.properties
log4j.rootLogger=INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.
log4j.appender.LOCALHOST.Append=true
log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.
log4j.appender.HOST-MANAGER.Append=true
log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=INFO, HOST-MANAGER
2. 需要下載Log4j的jar包
1.2的版本下載如下
http://logging.apache.org/log4j/1.2/download.html
3. 下載Tomcat8的擴展組件
4. 準備和替換
把下載的log4j.jar和tomcat-juli-adapters.jar放到%CATALINA_HOME%\lib
把下載的tomcat-juli.jar替換掉%CATALINA_HOME%\bin\tomcat-juli.jar
5. 刪除%CATALINA_HOME%\conf\logging.properties文件
6. 重新啟動Tomcat
上面就是官網給出的操作步驟,結果可行,只是第一次運行時,控制臺什么都沒有,原來日志配置文件里的
log4j.rootLogger=INFO, CATALINA
就輸出到文件里去了,把CONSOLE加上
log4j.rootLogger=INFO, CATALINA,CONSOLE
這里重新啟動Tomcat,就可以看到原來的日志信息了。
到此,將Tomcat配置為log4j日志系統就改造結束了,要實現自己定義日志格式,那就折騰一下這個log4j.properties吧