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
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] 开始检查系统
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
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')
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