posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

将Tomcat8日志配置为log4j日志系统

Posted on 2016-04-30 19:48 ZhouFeng 阅读(1419) 评论(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的扩展组件
就是在下载Tomcat8的那个页面http://tomcat.apache.org/download-80.cgi,下面点有个Extras,里面有两项JULI adapters jarJULI log4j jar的下载,下载后的两个文件为tomcat-juli.jar,tomcat-juli-adapters.jar
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吧

只有注册用户登录后才能发表评论。


网站导航: