tomcat 日志详解

1 tomcat  日志详解

1.1  tomcat 日志配置文件

  tomcat 对应日志的配置文件:tomcat目录下的/conf/logging.properties。

  tomcat 的日志等级有:日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)

  tomcat  有五类日志 :catalina、localhost、manager、admin、host-manager

  /conf/logging.properties 配置文件:

 1 #可配置项(5类日志):catalina、localhost、manager、admin、host-manager
 2 handlers = 1catalina.org.apache.juli.FileHandler,2localhost.org.apache.juli.FileHandler, 3 3manager.org.apache.juli.FileHandler,4host-manager.org.apache.juli.FileHandler,java.util.logging.ConsoleHandler
 4 
 5 #日志输出为输出到文件和输出到控制台
 6 .handlers = 7 
 8 #日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
 9 #配置文件使catalina日志输出级别为FINE
10 1catalina.org.apache.juli.FileHandler.level = FINE
11 #catalina文件输出位置
12 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
13 #catalina日志前缀为catalina
14 1catalina.org.apache.juli.FileHandler.prefix = catalina.
15 
16 #配置文件使localhost日志输出级别为FINE
17 2localhost.org.apache.juli.FileHandler.level =18 #localhost文件输出位置
19 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/20 #localhost日志前缀为localhost
21 2localhost.org.apache.juli.FileHandler.prefix = localhost.
22 
23 #配置文件使manager日志输出级别为FINE
24 3manager.org.apache.juli.FileHandler.level =25 #manager文件输出位置
26 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/27 #manager日志前缀为manager
28 3manager.org.apache.juli.FileHandler.prefix = manager.
29 
30 #配置文件使host-manager日志输出级别为FINE
31 4host-manager.org.apache.juli.FileHandler.level =32 #host-manager文件输出位置
33 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/34 #host-manager日志前缀为host-35 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
36 
37 #配置文件使控制台日志输出级别为FINE
38 java.util.logging.ConsoleHandler.level =39 #控制台日志输出格式
40 java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
41 
42 #localhost日志文件输出级别为INFO
43 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
44 #localhost日志文件输出处理类2localhost.org.apache.juli.FileHandler
45 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
46 
47 #manager日志文件输出级别为INFO
48 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level =49 #manager日志文件输出处理类3manager.org.apache.juli.FileHandler
50 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
51 
52 #host-manager日志文件输出级别为INFO
53 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level =54 #host-manager日志文件输出处理类4host-manager.org.apache.juli.FileHandler
55 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler
View Code

1.2  tomcat 日志文件详解

 tomcat  有五类日志 :catalina、localhost、manager、admin、host-manager

 1.2.1 catalina.out :

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

#截取部分日志
19-Sep-2018 09:53:28.358 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.53
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 29 14:42:45 UTC
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         53.0
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-862.el7.x86_64
 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/java/jdk1.8.0_131/jre
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_131-b11
 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /opt/tomcat
28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /opt/28.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/28.362 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp
28.362 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
28.676 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
28.716 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
28.731 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [ajp-nio-800928.732 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector 28.746 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1083 ms
28.794 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
28.794 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/28.829 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/tomcat/webapps/ROOT
29.524 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/webapps/ROOT has finished 694docs
29.552 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/webapps/docs has finished 28examples
29.987 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/webapps/examples has finished 4341] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/tomcat/webapps/host-manager
30.033 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/webapps/host-manager has finished 4630.034 INFO [localhost-startStop-30.064 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/tomcat/webapps/manager has finished 2930.082 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [30.099 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [30.106 INFO [main] org.apache.catalina.startup.Catalina.start Server startup 13602018-09-19 16:52:10
 [] [] [INFO]-[Thread: DefaultQuartzScheduler_Worker-7] 开始检查系统
View Code

    1.2.2 catalina.YYYY-MM-DD.log

 catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。

07:03:18.713 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [18.713 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service Catalina
18.741 INFO [1] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [1] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [13.515 INFO [main] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.
13.518 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [13.589 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler [13.64313.743 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [13.749 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler [13.757 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [13.760 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler [1360 ms
View Code

 1.2.3 localhost.YYYY-MM-DD.log

 localhost.{yyyy-MM-dd}.log主要是应用初始化(listener,filter,servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log 日志全。它只是记录了部分日志。

57:15.287 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
15.288 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker',async.Stockticker@2f62fc5f')
18.568 INFO [localhost-startStop-18.569 INFO [localhost-startStop-async.Stockticker@2289044118.732 INFO [localhost-startStop-] org.apache.catalina.core.ApplicationContext.log SessionListener: contextDestroyed()
] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed()
13.707 INFO [localhost-startStop-229.980 INFO [localhost-startStop-29.981 INFO [localhost-startStop-29.982 INFO [localhost-startStop-async.Stockticker@46012cd1')
View Code

 1.2.4 localhost_access_log.YYYY-MM-DD.txt

 localhost_access_log.2018-09-19.txt:这个是访问tomcat的日志,请求时间和资源,状态码都有记录。

192.168.1.220 - - [19/Sep/2018:42 -0400] GET / HTTP/1.1" 200 11286
GET /tomcat.css HTTP/1.15581
GET /tomcat.png HTTP/1.15103
GET /bg-button.png HTTP/1.1713
GET /bg-nav.png HTTP/1.11401
GET /asf-logo-wide.svg HTTP/1.127235
GET /bg-middle.png HTTP/1.11918
GET /bg-upper.png HTTP/1.13103
58:14 -GET /favicon.ico HTTP/1.121630
16 -21 -28 -GET /docs/setup.html HTTP/1.114470
GET /docs/images/docs-stylesheet.css HTTP/1.15780
GET /docs/images/tomcat.png HTTP/1.1GET /docs/images/asf-logo.svg HTTP/1.120486
GET /docs/images/fonts/fonts.css HTTP/1.11943
29 -GET /docs/images/fonts/OpenSans400.woff HTTP/1.121956
GET /docs/images/fonts/OpenSans700.woff HTTP/1.122748
GET /docs/images/fonts/OpenSans600.woff HTTP/1.122604

 1.2.5 host-manager.YYYY-MM-DD.log

    host-manager.2018-09-19.log:这个估计是放tomcat的自带的manager项目的日志信息的,未看到有什么重要的日志信息。

  1.2.6 manager.YYYY-MM-DD.log

   manager.2018-09-19.log  : 这个是tomcat manager项目专有的日志文件.

1.3 tomcat  日志文件切割

  tomcat  的  catalina.out  文件tomcat 是不会进行日志切割的,当这个文件大于2G  时,会影响tomcat的运行。那么我们需要对这个文件进行日志切割,切割的方法有很多种:

  第一种:

  通过系统自带的切割工具:logrotate来进行切割。

  第二种:

  使用logj4进行切割日志。

  第三种:

  使用用cronolog分割tomcat的catalina.out文件 

  以上三种方法见:https://www.cnblogs.com/happy-king/p/9193401.html

相关文章

遵循Java Servlet 规范第4节中的建议 ,Apache Tomcat实现了...
JMX(Java管理扩展)是一项非常强大的技术,可让您管理,监视...
总览介绍 建立 取得Java 获取TomCat 将TomCat安装为Window...
PSI Probe是Lambda Probe的社区驱动分支,使用相同的开源许可...