• Tomcat自带log的配置详解


      最近几天被日志搞得烦死了,不详细了解不行呀!

    Tomcat根目录文件作用说明

    根目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹

    bin目录

      主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。

    重要:很多环境变量的设置都在此处,例如可以设置JDK路径、TOMCAT路径

    startup 用来启动tomcat

    shutdown 用来关闭tomcat

    catalina.sh可以设置tomcat的内存

    conf目录

      主要是用来存放tomcat的一些配置文件。

    server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码

    web.xml可以设置tomcat支持的文件类型

    context.xml可以用来配置数据源之类的

    tomcat-users.xml用来配置管理tomcat的用户与权限

    在Catalina目录下可以设置默认加载的项目

    lib目录

      主要用来存放tomcat运行需要加载的jar包,像连接数据库的jdbc的包我们可以加入到lib目录中来。

    logs目录

      用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)

    在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中

    在linux环境中,控制台的输出日志在catalina.out文件中

    temp目录

      用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)

    webapps目录

      用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用(项目部署后的工程文件)

     当然,你也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。(映射在server.conf配置)

    work目录

      用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。清空work目录,然后重启tomcat,可以达到清除缓存的作用


      tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多:

         localhost.2012-07-05.txt

         catalina.2012-07-05.txt

         manager.2012-07-05.txt

         host-manager.2012-07-05.txt

    目的

         Tomcat以上日志都输出到同一个文件中。(也就是tomcat.log)

    修改步骤

         打开Tomcat目录conflogging.properties,修改如下,所有日志输出到tomcat开头的文件中,根据需求可以适当地修改!

    1catalina.org.apache.juli.FileHandler.level = FINE

    1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

    # 1catalina.org.apache.juli.FileHandler.prefix = catalina.

    1catalina.org.apache.juli.FileHandler.prefix = tomcat.

    2localhost.org.apache.juli.FileHandler.level = FINE

    2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

    # 2localhost.org.apache.juli.FileHandler.prefix = localhost.

    2localhost.org.apache.juli.FileHandler.prefix = tomcat.

    3manager.org.apache.juli.FileHandler.level = FINE

    3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

    # 3manager.org.apache.juli.FileHandler.prefix = manager.

    3manager.org.apache.juli.FileHandler.prefix = tomcat.

    4host-manager.org.apache.juli.FileHandler.level = FINE

    4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs  #定日志输出的路径根目录下logs/

    # 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

    4host-manager.org.apache.juli.FileHandler.prefix = tomcat.


    Tomcat日志总结

    1 Tomcat 日志信息分为两类 :

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

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

    2 访问日志的配置

    2.1 默认 tomcat 不记录访问日志,如下方法可以使 tomcat 记录访问日志

    编辑 ${catalina}/conf/server.xml 文件. 注 :${catalina} 是 tomcat 的安装目录

    把以下的注释 (<!-- -->) 去掉即可。

     <!--

            <Valve className="org.apache.catalina.valves.AccessLogValve"

             directory="logs"  prefix="localhost_access_log." suffix=".txt"

             pattern="common" resolveHosts="false"/>

      -->

    2.2 配置tomcat 写出更详细的日志

    通过对 2.1 示例中 pattern 项的修改,可以改变日志输出的内容。

    该项值可以为: common 与 combined ,这两个预先设置好的格式对应的日志输出内容如下:

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

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

    pattern 也可以根据需要自由组合, 例如 pattern="%h %l"

    对于各fields字段的含义请参照 :

    http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html 中的 Access Log Valve 项

    3 修改Tomcat运行日志的等级

    3.1  日志类型与级别

    Tomcat 日志分为下面5类:

    catalina 、 localhost 、 manager 、 admin 、 host-manager

    每类日志的级别分为如下 7 种:

    SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

    3.2  日志级别的设定方法

    修改 conf/logging.properties 中的内容,设定某类日志的级别

    示例:

    设置 catalina 日志的级别为: FINE

    1catalina.org.apache.juli.FileHandler.level = FINE

    禁用 catalina 日志的输出:

    1catalina.org.apache.juli.FileHandler.level = OFF

    输出 catalina 所有的日志消息均输出:

    1catalina.org.apache.juli.FileHandler.level = ALL

    更改 Tomcat 日志路径 

    目的: 能通过浏览器检查tomcat日志

    方法:将 tomcat 的日志放置到 $CATALINA_HOME/webapps/ROOT/logs 下,用户就可以通过 http://xxx.xxx.xxx.xxx/logs/catalina.out 访问日志了。

    1. 修改tomcat/conf下的logging.properties 

    1catalina.org.apache.juli.FileHandler.level = FINE
    1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs
    1catalina.org.apache.juli.FileHandler.prefix = catalina.
    
    2localhost.org.apache.juli.FileHandler.level = FINE
    2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs
    2localhost.org.apache.juli.FileHandler.prefix = localhost.
    
    3manager.org.apache.juli.FileHandler.level = FINE
    3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/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}/webapps/ROOT/logs
    4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
    View Code

    2. 修改tomcat/bin/catalina.sh 

    if [ -z "$CATALINA_OUT" ] ; then
      CATALINA_OUT="$CATALINA_BASE"/webapps/ROOT/logs/catalina.out
    fi

    【注意】红色字体是需要修改的内容,修改为当前 tomcat 的最新的网站根目录即可。

    3、重启 tomcat

    4、使用浏览器即可查看日志: http://xxx.xxx.xxx.xxxx/logs/catalina.out

    学习借鉴:

    http://huangrongyou.iteye.com/blog/1577508

    https://jingyan.baidu.com/article/f3e34a128551b7f5ea653544.html

    http://www.cnblogs.com/AloneSword/p/3357107.html

  • 相关阅读:
    【剑指offer】面试题16、反转链表
    【剑指offer】面试题15、链表中倒数第 K 个结点
    【剑指offer】面试题14、调整数组顺序使奇数位于偶数前面
    oracle sql与调优
    linux 常用命令记录 持续更新
    函数重载中形参的const
    mem_fun_ref和mem_fun的用法
    c++风格的格式化输出
    count_if函数里面的第三个参数的书写方式<<0926
    操作符重载(++,+,输入输出,强制类型转换)
  • 原文地址:https://www.cnblogs.com/xiaochina/p/6864043.html
Copyright © 2020-2023  润新知