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="SMSCWEBLog">
    <priority value="INFO"/>
    <appender-ref ref="SMSCWEB_FILE"/>
    <appender-ref ref="SMSCWEB_CONSOLE"/>
  </category>

使用方法

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

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

日志结果查看

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

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读