Tomcat 自身日志种类简述

1、catalina.out日志【路径是在启动脚本 ${catalina.base}/bin/catalina.sh 中指定】

if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割的,我们需要借助其他工具进行切割(注意:catalina.out文件如果过大会影响)

2、${catalina.base}/conf/logging.properties 【自身安装路径下的配置文件】

#参考文档 https://blog.csdn.net/pengjunlee/article/details/79477567
#定义所有可用的handler的key。这个key分解为两部分: 前缀+类型,其中前缀是以 阿拉伯数字开头 直到第一个点号 . 结束为前缀 ,前缀后则是具体全限定名的日志处理类。
#Tomcat这样的设计为解决类型相同导致(比如org.apache.juli.AsyncFileHandler)的实例名重复问题(也就是为了实例化同一个类不同名称的处理器)
#1catalina.org.apache.juli.AsyncFileHandler  表示前缀是 1catalina 具体的日志处理类为 org.apache.juli.AsyncFileHandler
#java.util.logging.ConsoleHandler 前缀则为空 具体的日志处理类为 java.util.logging.ConsoleHandler
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

#这个地方的 .handlers 是用来设置根Logger的具体日志处理器集合 规则和上面的一样,使用前缀+类型的方式定义
.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

############################################################
# tomcat  有五类日志 :catalina、localhost、manager、admin、host-manager
# level 表示日志级别 日志输出级别:OFF(关闭日志系统) > SEVERE (记录异常错误) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别) > ALL(记录所有信息)
# directory 表示日志文件的存放目录
# maxDays 表示可以存放多少天内的日志文件
# encoding 表示日志文件的编码格式
# handlers 具体使用那个日志处理器
# prefix是日志名前缀,suffix是日志名后缀
############################################################

#catalina引擎的日志文件,catalina.{yyyy-MM-dd}.log 是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,
# 但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8

#Tomcat下内部代码丢出的日志,(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!)
# localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,
# 它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.{yyyy-MM-dd}.log 日志全。它只是记录了部分日志
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8

# Tomcat下默认manager应用日志,manager.{yyyy-MM-dd}.log 这个是tomcat manager项目专有的日志文件
3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

# 是放tomcat的自带的manager项目的日志信息的 host-manager.{yyyy-MM-dd}.log
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8

# 控制台输出的日志,Linux下默认重定向到catalina.out  
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8


############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
# Tomcat JULI日志格式:使用Engine,Host, Context来定义日志,Engine一般是Catalina。 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler

# For example, set the org.apache.catalina.util.LifecycleBase logger to log
# each component that extends LifecycleBase changing state:
#org.apache.catalina.util.LifecycleBase.level = FINE

# To see debug messages in TldLocationsCache, uncomment the following line:
#org.apache.jasper.compiler.TldLocationsCache.level = FINE

# To see debug messages for HTTP/2 handling, uncomment the following line:
#org.apache.coyote.http2.level = FINE

# To see debug messages for WebSocket handling, uncomment the following line:
#org.apache.tomcat.websocket.level = FINE

3、localhost_access_log.{yyyy-MM-dd}.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。可以通过这个日志分析耗时 ,具体配置是在 ${catalina.base}/conf/server.xml 里的HOST标签中



        
        

        
        

 

你可能感兴趣的:(Tomcat)