以tomcat-6.0.29为例:

http://www.ossez.com/thread-18138-1-1.html

#配置tomcat的日志输出方式,这里表示文件输出和控制台输出
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
catalina.org.apache.juli.FileHandler.level = FINE #日志级别
例:
1catalina.org.apache.juli.FileHandler.level = FINE #设置 catalina 日志的级别为: FINE
1catalina.org.apache.juli.FileHandler.level = OFF #禁用 catalina 日志的输出
1catalina.org.apache.juli.FileHandler.level = ALL#输出 catalina 所有的日志消息均输出

catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs #日志输出目录,此设置表示tomcat日志输出到tomcat\logs目录下

catalina.org.apache.juli.FileHandler.prefix = catalina. #日志输出前缀,后面跟日期信息(yyyy-MM-dd) 
注:tomcat_6.0.29输出4种不同的日志:catalina、localhost、manager、host-manager

java.util.logging.ConsoleHandler.level = FINE #控制台日志输出级别
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter #控制台日志输出格式化类,Formatter 为格式化 LogRecords 提供支持。

下面是每个日志文件的输出级别和处理类
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

Tomcat 日志信息分 为 两 类 :

一是运行中的日志,它主要 记录 运行的一些信息,尤其是一些异常错误日志信息 。
二是访问 日志信息,它 记录 的 访问 的 时间、IP、访问的资料等相关信息。

2.1  访问日志的配置

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

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

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

  1. <!--
  2. <Valve className="org.apache.catalina.valves.AccessLogValve"
  3. directory="logs"  prefix="localhost_access_log." suffix=".txt"
  4. pattern="common" resolveHosts="false"/>
  5. -->

复制代码

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 项

修改 Tomcat 运行日志的等级

日志类型与级别

Tomcat 日志分为下面5类:

catalina 、 localhost 、 manager 、 admin 、 host-manager

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

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

日志级别的设定方法

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

示例:

设置 catalina 日志的级别为: FINE

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

禁用 catalina 日志的输出:

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

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

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

使用 log4j 记录应用程序日志或系统日志。

使用 Log4j 输出详细系统日志信息,快速诊断启动故障。

此例可弥补 tomcat 启动异常时输出的错误信息不足的问题,使用 commons-logging 和 log4j 搭配输出详尽的日志信息 。

以 window 环境下 tomcat5.5.27 为例:

tomcat 解压目录为:

E: \tomcat5.5

设置环境变量:

CATALINA_HOME=E: \tomcat5.5

下载 log4j 与 commons-logging

Log4j 下载地址:

http://logging.apache.org/log4j/1.2/download.html

Commons-logging 下载地址:

http://apache.freelamp.com/commo ... gging-1.1.1-bin.zip

本例将 commons-logging-1.1.1.jar 与 log4j-1.2.15.jar 放在 %TOMCAT_HOME%\bin 目录下(可根据需要放置在其位置)

在 %TOMCAT_HOME%\bin 目录下新建两个文件 commons-logging.properties 、 log4j.properties

commons-logging.properties 文件内容如下:

  1. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
  2. log4j.properties 文件内容如下:
  3. log4j.rootLogger=WARN,stdout,file
  4. ## 日志直接输出到控制台 ###
  5. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  6. log4j.appender.stdout.Target=System.out
  7. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  8. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %l - %m%n
  9. ## 日志输出到文件 SystemOut.log ###
  10. log4j.appender.file=org.apache.log4j.FileAppender
  11. log4j.appender.file.File=E: /tomcat5.5/ logs/SystemOut.log
  12. log4j.appender.file.Append=false
  13. log4j.appender.file.layout=org.apache.log4j.PatternLayout
  14. log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %l - %m%n

复制代码

该配置文件可详细参照:

http://www.minaret.biz/tips/tomcatLogging.html#log4j_properties

修改 catalina.bat 文件

set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar

替换为

set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\commons-logging-1.1.jar;%CATALINA_HOME%\bin\log4j-1.2.13.jar;%CATALINA_HOME%\bin

通 过 startup.bat 启 动 就会用 log4j 来 输 出启 动 日志了 。

在 E: /tomcat5.5/ logs/SystemOut.log 文件中 查 看 输 出的日志

应用程序中使用 log4j 使用方法

从如下网址下 载 log4j :

http://logging.apache.org/log4j/1.2/download.html

创 建 Java 工程。

添加 log4j.jar 到工程的 编译 路径下 。

创建名称 为 log4j.properties 的文件,写入如下内容:

  1. ### direct log messages to stdout ###
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  3. log4j.appender.stdout.Target=System.out
  4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
  6. log4j.rootLogger=debug, stdout

复制代码

创 建 类 并添加如下内容:

import org.apache.log4j.Logger;

  1. public class LogClass {
  2. private static org.apache.log4j.Logger log = Logger
  3. .getLogger (LogClass. class );
  4. public static void main(String[] args) {
  5. log .trace( "Trace" );
  6. log .debug( "Debug" );
  7. log .info( "Info" );
  8. log .warn( "Warn" );
  9. log .error( "Error" );
  10. log .fatal( "Fatal" );
  11. }
  12. }

复制代码

编译 运行,可在控制台中看到如下内容 :

  1. 10:38:24,797 DEBUG LogClass:11 - Debug
  2. 10:38:24,812  INFO LogClass:12 - Info
  3. 10:38:24,812  WARN LogClass:13 - Warn
  4. 10:38:24,812 ERROR LogClass:14 - Error
  5. 10:38:24,812 FATAL LogClass:15 - Fatal

复制代码

7、 根据 级别 控制日志 输 出内容:

将 log4j.rootLogger= debug , stdout 变 更 为 log4j.rootLogger=Warn, stdout

输 出内容如下:

10:41:15,488  WARN LogClass:13 - Warn

10:41:15,504 ERROR LogClass:14 - Error

10:41:15,504 FATAL LogClass:15 – Fatal
4.3  配置 log4j.properties 更改日志 输 出内容

1 、 log4j.rootCategory=INFO, stdout , R

此句 为 将等 级为 INFO 的日志信息 输 出到 stdout 和 R 这 两个目的地。等 级 可分 为 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 ALL ,如果配置 OFF 则 不打出任何信息,如果配置 为 INFO 这样 只 显 示 INFO, WARN, ERROR 的 log 信息,而 DEBUG 信息不会被 显 示。

2 、 log4j.appender.stdout=org.apache.log4j.ConsoleAppender

此句 为 定 义 名 为 stdout 的 输 出端是哪 种类 型,可以是

org.apache.log4j.ConsoleAppender (控制台),

org.apache.log4j.FileAppender (文件),

org.apache.log4j.DailyRollingFileAppender ( 每 天 产 生一个日志文件),

org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的 时 候 产 生一个新的文件)

org.apache.log4j.WriterAppender (将日志信息以流格式 发 送到任意指定的地方 )

3 、 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

此句 为 定 义 名 为 stdout 的 输 出端的 layout 是哪 种类 型

org.apache.log4j.HTMLLayout (以HTML 表格形式布局),

org.apache.log4j.PatternLayout (可以灵活地指定布局模式),

org.apache.log4j.SimpleLayout (包含日志信息的 级别 和信息字符串),

org.apache.log4j.TTCCLayout (包含日志 产 生的 时间 、 线 程、 类别 等等信息 )

4 、 log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n

如果使用 pattern 布局就要指定的打印信息的具体格式 ConversionPattern ,打印参数如下:

具体的设定参照:

http://logging.apache.org/log4j/ ... /PatternLayout.html

%m 输 出代 码 中指定的消息

%p 输 出 优 先 级 ,即 DEBUG , INFO , WARN , ERROR , FATAL

%r 输 出自 应 用启 动 到 输 出 该 log 信息耗 费 的毫秒数

%c 输 出所属的 类 目,通常就是所在 类 的全名

%t 输 出 产 生 该 日志事件的 线 程名

%n 输 出一个回 车换 行符, Windows 平台 为 “rn” , Unix 平台 为 “n”

%d 输 出日志 时间 点的日期或 时间 ,默 认 格式 为 ISO8601 ,也可以在其后指定格式,比如: %d{yyyy mm dd HH:mm:ss,SSS} , 输 出 类 似: 2002 年 10 月 18 日 22 : 10 : 28 , 921

%l 输 出日志事件的 发 生位置,包括 类 目名、 发 生的 线 程,以及在代 码 中的行数。

[QC] 是 log 信息的 开头 ,可以 为 任意 字符,一般 为项 目 简 称 。
5       Log4j 相 关资 料

以下网址提供了 log4j 的介 绍 :

http://logging.apache.org/log4j/1.2/manual.html

以下网址提供的 log4j 的使用示例:

http://www.laliluna.de/log4j-tutorial.html

tomcat中的日志开关文件(logging.properties)介绍的更多相关文章

  1. tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的问题

    1.      get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错 代码: 请求:project/projectInfo/export/?cks=’项目类型 public String ...

  2. python 日志打印之logging使用介绍

    python 日志打印之logging使用介绍 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   简单的将日志打印到屏幕 import logging lo ...

  3. Java中的日志——Java.util.logging、log4j、commons-logging

    Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging.其中log4j和commons-loggin ...

  4. Python中的日志记录方案-logging模块&loguru模块

    原文链接 原创: 崔庆才 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter ...

  5. myeclipse+tomcat中出现org.apache.juli.logging.LogFactory这样的错误[转]

      将项目部署好后,启动tomcat后报错,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 报这个错说明你用的是t ...

  6. asp 中创建日志打印文件夹

    string FilePath = HttpRuntime.BinDirectory.ToString(); string FileName = FilePath + "日志" + ...

  7. windows保存tomcat的控制台日志到文件

    startup.bat修改:call "%EXECUTABLE%" start %CMD_LINE_ARGS%改为:call "%EXECUTABLE%" ru ...

  8. python中的日志模块logging

    1.日志级别5个: 警告Warning 一般信息Info  调试 Debug  错误Error 致命Critical 2.禁用日志方法 logging.disable(logging.DEBUG) 3 ...

  9. Nexus安装及部署(含如何在Tomcat中部署)

    1. Nexus价值 1)方便-节约带宽-快 2)便于统一管理 3)持续集成需要 2.Nexus下载 http://www.sonatype.org/nexus/go 3.Nexus启动 解压后进入\ ...

随机推荐

  1. IE中div被视频遮住的解决方法

    使用embed来内嵌视频,因为视频是windows media player,上面想用div浮动一些内容,之前尝试了一些方法,比如 1. 通过设定不同组件的z-index值 2. 通过设定 wmode ...

  2. How to update WPF browser application manifest and xbap file with ‘mage.exe’

    老外参考文章1 老外参考文章2 I created a WPF browser application MyApp then published it by ClickOnce in VS2008. ...

  3. SAP BAPI一览 史上最全

    全BADI一览  List of BAPI's       BAPI WG Component Function module name Description Description Obj. Ty ...

  4. 委托、Lambda表达式、事件系列02,什么时候该用委托

    假设要找出整型集合中小于5的数. static void Main(string[] args) { IEnumerable<int> source = new List<int&g ...

  5. DXT 图片压缩(DXTC/DirectX Texture Compression Overview)

    这两天在写 DDS 格式的解码程序.DDS 是微软为 DirectX 开发的一种图片格式,MSDN 上可以查到其文件格式说明: http://msdn2.microsoft.com/en-us/lib ...

  6. 一个最简单的通过WireShark破解SSL加密网络数据包的方法

    原文地址: http://article.yeeyan.org/view/530101/444688 一般来说,我们用WireShark来抓取包进行分析是没有多大问题的.但这里有个问题是,如果你碰到的 ...

  7. 下载java生成PDF

    /** * 下载打印PDF * @param request * @param response * @throws ServletException * @throws IOException * ...

  8. 丑女贝蒂第一至四季/全集Ugly Betty迅雷下载

    本季第一至四季 Ugly Betty (2006-2009)看点:<丑女贝蒂>在Betty Suarez的生命始终只有一个目标:加入到时尚行业中去.尽管要变得很聪明,工作很卖力而且要多产, ...

  9. 升级IOS8游戏上传自定义头像功能失效的问题

    为了支持arm64,之前已经折腾了很久,昨晚打包准备提交苹果审核时,测试那边的同事反馈说游戏上传自定义头像功能不可用了. 游戏上传自定义功能的简介:卡牌游戏最初是<比武招亲>中有一个充VI ...

  10. Node.js批量去除BOM文件

    之前的同事写了一个工具,但有bug,就是在替换文件后原文件的格式变成utf8 BOM了,这种带BOM的XML在Mac下可能读取不出来,所以就需要写个工具处理一下-   其实思路比较简单,首先遍历目录, ...