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日志文件中。