1、tomcat的日志分类:

  一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息 。

  二是访问日志信息,它记录的访问的时间,IP ,访问的资料等相关信息。

2、tomcat的日志目录(./tomcat/logs):

  1.catalina.2017-09-22.log: catalina引擎的日志文件

  2.host-manager.2017-09-22.log: 虚拟机主机日志文件

  3.localhost.2017-09-22.log: Tomcat下内部代码丢出的日志,jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!             4.manager.2017-09-22.log: Tomcat下默认的manager应用日志

  5.localhost_access_log.2017-09-22.log:客户端访问日志(默认没有开启的access日志)

3、tomcat日志配置:(日志的路径可以在logging.properties中修改,以免倒导致硬盘过度的增大影响服务器的正常运行.)

  1.host-manager.log、localhost.log、manager.log、catalina.log的日志控制

    1、找到tomcat目录conf/logging.properties中的等级全都等于OFF.即可不再生成相关日志文件.

     tomcat的日志级别分为以下: SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value) 除此之外,我们可以使用OFF关闭相关日志,使用ALL输出所有级别的日志 manager.org.apache.juli.FileHandler.level = OFF把manager日志关闭

    2、其中catalina.out则需要修改catalina.sh配置可以控制

    只要将 if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 修改为 if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=/dev/null 这样就不会生成catalina.out文件了

    3.客户端访问日志(access日志文件的控制) 因为access日志默认是不开的,所以我们先来看一下怎么开启access日志。 打开 .../tomcat/conf/server.xml。发现以下内容是注释掉的 ```


-->

4.日志中字段详释:

  className:官方文档上说了This MUST be set toorg.apache.catalina.valves.AccessLogValve to use the default access log valve.&<60; 想配置访问日志?这就必须得写成这样   directory 日志存放的位置,默认是logs目录下

  prefix 这个是日志文件的名称前缀,我的日志名称为localhost_access_log.2007-09-22.txt,前面的前缀就是这个localhost_access_log

  suffix 设置日志的后缀

  pattern 对日志输出内容的设置,这个是重点,我们下面详细解释

  resolveHosts 如果这个值是true的话,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址啦

  fileDateFormat 日志的时间格式

  pattern的参数:可以设置成common combined 或者手动定义

  common 的值: %h %l %u %t %r %s %b

  combined 的值: %h %l %u %t %r %s %b %{Referer}i%{User-Agent}i

  %a 这是记录访问者的IP1

  %A 这是记录本地服务器的IP

  %b 这是发送信息的字节数,不涵括http头,如果字节数为0的话,显示为-

  %B 看tomcat的解释,没看出来与b%的区别,但我这里显示为-1,我把官方解释贴出来吧 Bytes sent, excluding HTTP headers

  %h 这个就是服务器名称了,如果resolveHosts为false的话,这里就是IP地址了

  %H 访问者使用的协议,这里是HTTP/1.1

  %l 官方也说这个always return '-' 官方解释:Remote logical username from identd

  %m 访问的方式,是GET还是POST

  %p 本地接收访问的端口

  %q 比如你访问的是index.jsp?a=c,那么这里就显示?a=c,这个q是querystring的意思

  %r 官方解释:First line of the request (method and request URI)

  %s 这个是http的状态,经常看见访问某个网页报错误500什么的,那也会返回500

  %S 用户的session ID,这个session ID大家可以另外查一下详细的解释,反正每次都会生成不同的session ID

  %t 这就是时间啦,有一个Common Log Format可以改

  %u 得到了验证的访问者,否则就是"-"

  %U 访问的URL地址

  %v 服务器名称,可能就是你url里面写的那个吧,我这里是localhost

  %D 官方解释:Time taken to process the request, in millis,应该是访问发生的时间,以毫秒记

  %T 官方解释:Time taken to process the request, in seconds,应该是访问发生的时间,以秒记

最新文章

  1. php函数强大的 strtotime
  2. 转一个PDevMode格式属性说明...
  3. [转载]再来重新认识JavaEE完整体系架构
  4. 何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发
  5. (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介
  6. nginx如何解决超长请求串
  7. css3划过图片闪光
  8. CSS自学笔记(1):CSS简介
  9. mongoose的用法(注:连接数据库)
  10. intellij idea 生成UUID
  11. Egret 学习之简介,环境搭建及命令行语法 (一)
  12. Mybatis中的like查询
  13. (转)SimpleDateFormat使用
  14. android activity的生命周期和启动模式
  15. Linux新手随手笔记1.4
  16. 回到未来123Back To The Future
  17. ECSHOP /api/client/includes/lib_api.php
  18. VLAN IEEE802.1Q
  19. REQUEST_TIMEOUT 解决方案
  20. python后端工程师 数据爬虫

热门文章

  1. [VueJS + Typescript] Decouple Dependencies Using IoC Containers in Vue with TypeScript and InversifyJS
  2. Session与Cookie解析
  3. 我在CSDN开通博客啦!
  4. .net mvc4 + ajaxfileupload.js 解决IE浏览器中弹出下载对话框问题
  5. Windows命令实现匿名邮件发送
  6. C#.NEt-GDI+中的Pen測试
  7. java Bean及其使用
  8. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值
  9. 10.6 Graph Test
  10. JeePlus:API工具