码迷,mamicode.com
首页 > 其他好文 > 详细

将tomcat内部默认日志方式改为Log4j未成功的记录

时间:2016-05-12 22:58:57      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

官方下载地址:https://tomcat.apache.org/download-70.cgi

下载的是zip版本:apache-tomcat-7.0.69.zip

按官方文档来操作:
https://tomcat.apache.org/tomcat-7.0-doc/logging.html

  1. 新建文件叫log4j.properties,内容见文未(复制的官网上的)放入$CATALINA_BASE/lib下。
  2. 下载log4j,需要v1.2.x,下载地址:https://logging.apache.org/log4j/1.2/download.html,下载的zip版本log4j-1.2.17.zip。解压出 log4j-1.2.17.jar。
  3. 下载tomcat-juli.jartomcat-juli-adapters.jar。详见附加组件文档,下载地址与上面下载tomcat的地址一样。不过是Extrax标记下。
  4. log4j.jartomcat-juli-adapters.jar放入$CATALINA_HOME/lib.
  5. tomcat-juli.jar替换$CATALINA_HOME/bin/tomcat-juli.jar.
  6. 删除$CATALINA_BASE/conf/logging.properties免得java.util.logging生成0长度的日志文件。
  7. 启动Tomcat.

    但按上面操作之后,却不能正常的打印日志。显示:

    log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Catalina).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

logs文件夹下,多了五个日志文件。两个有内容:catalina.out,localhost。catalina.out中就是上面的话。
localhost中就是contextInitialized等记录。

当我把上面的log4j.properties改名了,再启动tomcat时,logs里面就只有一个文件了。内容空。

说明log4j.properties还是起作用的。

但输不出日志。

附:
涉及文件列表:

  • apache-tomcat-7.0.69.zip,MD5: 296A27D0CC455D41AB5746A6BA34DACA
  • log4j-1.2.17.zip,MD5: 5BCF80352B7D622DF0DBCB44E50CF0BB
  • log4j-1.2.17.jar, MD5: FB87BD84E336CA3DC6B6C108F51BF25E
  • tomcat-juli.jar, MD5: 9F57B2D40F301891BA6C2EC3DDCE5C85
  • tomcat-juli-adapters.jar, MD5: FD1B9A734EC046565122595A92B6A054

log4j.properties的内容

og4j.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

用于重现的复制文件脚本:

import shutil
import os
import sys
catalina_base = "C:/apache-tomcat-7.0.69/"
# move log4j.properties to $CATALINA_BASE/lib
shutil.copyfile("log4j.properties",catalina_base+"lib/log4j.properties")
# move log4j.jar and tomcat-juli-adapters.jar to $CATALINA_HOME/lib
shutil.copyfile("log4j-1.2.17.jar",catalina_base+"lib/log4j.jar")
shutil.copyfile("tomcat-juli-adapters.jar",catalina_base+"lib/tomcat-juli-adapters.jar")
# replace $CATALINA_HOME/bin/tomcat-juli.jar with tomcat-juli.jar
shutil.copyfile("tomcat-juli.jar",catalina_base+"bin/tomcat-juli.jar")
# $CATALINA_BASE/conf/logging.properties
loggingpath =catalina_base+"conf/logging.properties"
if os.path.isfile(loggingpath):
    os.remove(loggingpath)
print "OK"

将tomcat内部默认日志方式改为Log4j未成功的记录

标签:

原文地址:http://blog.csdn.net/feng______/article/details/51348487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!