tomcat7日志管理--基础知识、配置、以及使用log4j做日志分割

一直想研究下tomcat的日志管理,今天终于抽出时间,通过上网查资料和亲自动手实践,终于把这一部分搞明白了。本人用的tomcat版本是7.0.55,下面写的内容也是基于此版本的配置,7以下的可能有些不同,这里就不做说明了。如有不正确的部分,欢迎大家指正。

注:关于tomcat7日志管理的部分内容来自于Apache tomcat 7.0文档中logging部分,想看源文档的可以移步:http://tomcat.apache.org/tomcat-7.0-doc/logging.html

—————————————————————————我是正文分割线—————————————————————————

下面是tomcat日志基本知识科普时间,已经了解的请跳过:

tomcat上日志的实现基于Apache Commons Logging库,因此需要引入commons-logging包(我使用的是commons-logging-1.2.jar)

在tomcat上运行web项目记录日志有三种方式:

  • 使用系统jdk自带的logging API: java.util.logging;
  • 使用java servlet规范提供的logging API: javax.servlet.ServletContext.log(..)
  • 选择使用其他的日志框架,如log4j

不同项目中使用的同一日志框架之间是相互独立的,但如果项目直接或间接地使用了java.util.logging来记录日志的话除外,因为它由系统统一加载并在不同的项目之间共享。

1.使用java.util.logging

java.util.logging API的默认实现功能有限,因此tomcat的默认配置中,将日志管理(LogManager)的实现替换为了另一个实现容器JULI,它同样支持标准JDK java.util.logging的配置机制,不同的是JULI的每一个类加载属性文件都可以被设置,并可以在其中定义处理器,这样就给了开发者更大的自由度。

JULI的日志配置分为全局配置和项目配置。全局配置位于tomcat的配置目录${catalina.base}/conf/logging.properties文件,如果该文件未配置或不可读,那么tomcat将会使用JRE中的默认日志配置,可以在${java.home}/lib/logging.properties查看配置文件的内容;项目配置则是针对不同的项目,配置文件位于WEB-INFO/classes/logging.properties.

下面代码是JRE中的日志配置文件的部分内容,可以看出其中的日志处理器为ConsoleHandler. 能够接受System.err错误日志

handlers= java.util.logging.ConsoleHandler

# To also add the FileHandler, use the following line instead.
#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers.  For any given facility thi
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值