标签:
官方下载地址:https://tomcat.apache.org/download-70.cgi
下载的是zip版本:apache-tomcat-7.0.69.zip
按官方文档来操作:
https://tomcat.apache.org/tomcat-7.0-doc/logging.html
log4j.properties
,内容见文未(复制的官网上的)放入$CATALINA_BASE/lib
下。v1.2.x
,下载地址:https://logging.apache.org/log4j/1.2/download.html,下载的zip版本log4j-1.2.17.zip。解压出 log4j-1.2.17.jar。tomcat-juli.jar
和tomcat-juli-adapters.jar
。详见附加组件文档,下载地址与上面下载tomcat的地址一样。不过是Extrax
标记下。log4j.jar
和tomcat-juli-adapters.jar
放入$CATALINA_HOME/lib
.tomcat-juli.jar
替换$CATALINA_HOME/bin/tomcat-juli.jar
.$CATALINA_BASE/conf/logging.properties
免得java.util.logging
生成0长度的日志文件。启动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还是起作用的。
但输不出日志。
附:
涉及文件列表:
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"
标签:
原文地址:http://blog.csdn.net/feng______/article/details/51348487