tomcat日志分析

tomcat/logs目录下的文件

在这里插入图片描述

这些日志文件的产生是在tomcat/conf/logging.properties中配置的

#配置tomcat的日志输出方式,分为文件输出和控制台输出
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apac
he.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

#日志级别SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
1catalina.org.apache.juli.FileHandler.level = FINE
#文件输出位置
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
#日志前缀
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

#控制台日志输出级别
java.util.logging.ConsoleHandler.level = FINE
#控制台日志输出格式化类
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
#每个日志文件的输出级别和处理类
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

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

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

一点个人理解

# 一个是针对FileHandler处理类的日志级别设置,一个是针对生成的文件的级别设置,我的理解是localhost文件中的日子信息是INFO级别的
2localhost.org.apache.juli.FileHandler.level = FINE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

log4j的日志如何查看

基础知识准备

#Appender:日志输出器,配置日志的输出级别、输出位置等,包括以下几类:
 ConsoleAppender: 日志输出到控制台;
FileAppender:输出到文件;
RollingFileAppender:输出到文件,文件达到一定阈值时,自动备份日志文件;
DailyRollingFileAppender:可定期备份日志文件,默认一天一个文件,也可设置为每分钟一个、每小时一个;
WriterAppender:可自定义日志输出位置。

log4j.xml文件配置分析

#输出到文件,达到一定阈值,自动备份日志文件 
 <appender name="WEBOS_FILE" class="org.apache.log4j.RollingFileAppender">
     #输出文件位置${catalina.base}=tomcat
     <param name="File" value="${catalina.base}/logs/WEBOSLog.log"/>
	 #true在现有日志文件后追加填写日志,false则重启后删除原有文件重新写入。
     <param name="Append" value="true"/>
	 #一个日志文件最大多少
     <param name="MaxFileSize" value="5242880" />
	 #最多备份多少个文件
     <param name="MaxBackupIndex" value="9" />
	 #日志输出格式
     <layout class="com.ysy.webos.logger.logFormatter"/>
  </appender>
  
  
  #日志输出到控制台,也就是tomcat/logs/catalina.out文件中
    <appender name="WEBOS_CONSOLE" class="org.apache.log4j.ConsoleAppender">
     <param name="Threshold" value="WARN"/>
     <param name="Target" value="System.out"/>
     <layout class="com.ysy.webos.logger.logFormatter"/>
   </appender>
   
   #用category标签把上面的两个配置合在一起
    <category name="YSYWEBLog">
    <priority value="INFO"/>
    <appender-ref ref="YSYWEB_FILE"/>
    <appender-ref ref="YSYWEB_CONSOLE"/>
  </category>

使用方法

使用以下语句获取到log对象,即可记录日志

Logger log4jLogger = LogManager.getLogger("YSYCWEBLog");

日志结果查看

从log4j.xml中可以看出,日志是记录在${catalina.base}/logs/ysyweb.log和catalina.out日志文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值