美文网首页
tomcat7使用log4j做日志分割

tomcat7使用log4j做日志分割

作者: 橡皮24 | 来源:发表于2018-10-09 19:49 被阅读24次

tomcat7日志管理的部分内容来自于Apache tomcat 7.0文档中logging部分, http://tomcat.apache.org/tomcat-7.0-doc/logging.html

一、简介

1 、收集日志的作用

  监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;
  跟踪代码运行时轨迹,作为日后审计的依据;
  担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。

2 、为什么要用log4j

  在我们平时使用的tomcat7,日志输出到catalina.out。由于catalina.out日志无法自动切割,并且所有的日志都输出到catalina.out文件里。不便于我们查找。

3 、log4j 好处

  能够控制日志信息想往哪里打就往哪里打,比如:控制台、文件、邮箱、数据库等等
  能够控制日志信息想怎么打就怎么打,比如:我想要打印时间、程序的名称、程序的方法名、程序的行号、线程的名称等等
   能够控制日志信息想打什么打什么,不想打的就不打,日志信息是分级别的,有时候我只想看错误的信息或者警告的信息,有时候我想看到所有的信息我想调试程序等等

二、 使用 Log4j 来记录日志方法

  如果你只是想对当前的项目运用log4j,那么只需要将log4j.jar,log4j.properties分别放入项目的WEB-INFO/lib和WEB-INFO/classes文件夹下即可;但如果你想将log4j运用到所有运行于tomcat的项目中,那么还需要以下配置步骤:

1 、首先创建一个log4j.properties 文件,并将其放置在tomcat 的lib 目录$CATALINA_BASE/lib 下。以下配置内容为我的配置

log4j.rootLogger=INFO,stdout,R

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

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

log4j.appender.stdout.layout.ConversionPattern=[%-d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%c] [%p] [%m]%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

#c3po config

log4j.logger.com.opensymphony=warn

log4j.logger.com.mchange=warn

#spring config

log4j.logger.org.springframework=warn

#mybatis config

log4j.logger.org.apache.ibatis.logging=warn

log4j.logger.org.apache.ibatis.datasource.pooled=warn

log4j.logger.org.apache.ibatis.transaction.jdbc=warn

log4j.logger.org.mybatis.spring=warn

log4j.logger.cn.com.widgetdo.mybatis.scanner=warn

#调试时看sql语句 将 warn变为 debug就可以了

log4j.logger.cn.com.widgetdo.mapper=debug

#axis config

log4j.logger.org.apache.axis=warn

log4j.logger.org.apache.axis.utils.JavaUtils=error

#quartz config

log4j.logger.org.quartz=warn

# beanutil config

log4j.logger.org.apache.commons.beanutils=warn

#struts2 config

log4j.logger.org.apache.struts2=ERROR

log4j.logger.freemarker=warn

log4j.appender.R.File=${catalina.home}/logs/tomcat.out

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=[%d{yyyy-MM-dd HH\:mm\:ss,SSS}] [%c] [%p] [%m]%n

#log4j.logger.com.opensymphony.xwork2=ERROR

2 、下载log4j 的jar 包,需要1.2 以上版本

下载地址: http://archive.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.jar

3 、下载tomcat-juli.jar 、tomcat-juli-adapters.jar 作为tomcat 的外部组件。注意,此处的tomcat-juli.jar 和默认的不同,它包含了Apache Commons Logging的全部实现

①下载地址:http://www.apache.org/dist/tomcat/tomcat-7/v7.0.90/bin/extras/
此处只有最新的版本v7.0.9
所以建议直接访问:http://www.apache.org/dist/tomcat/tomcat-7/
然后手动选择

或者

②下载地址:tomcat官网—>tomcat7


4、如果你想使用log4j作为tomcat的全局配置,那么首先将log4j-1.2.17.jar、tomcat-juli-adapters.jar放入$CATALINA_HOME/lib目录下
5、将$CATALINA_HOME/bin/tomcat-juli.jar替换为下载的tomcat-juli.jar,并修改成755权限
[root@cxm bin]# chmod 755 tomcat-juli.jar
6、如果有不同tomcat

  使用不同的$CATALINA_HOME和$CATALINA_BASE来运行tomcat,并且希望采用同一个$CATALINA_BASE来配置log4j,那么还需要下面几步操作:
1.创建$CATALINA_BASE/bin和$CATALINA_BASE/lib目录;
2.将log4j.jar和tomcat-juli-adapters.jar放入$CATALINA_BASE/lib下;
3.将tomcat-juli.jar放入$CATALINA_BASE/bin下;
4.如果你是以security manager运行的tomcat,那么还需要编辑$CATALINA_BASE/conf/catalina.policy文件来让它使用不同的tomcat-juli.jar.

7、删除$CATALINA_BASE/conf/logging.properties文件
8、重启tomcat

三、 使用log4j前后对比图

1、使用前

#######2、使用后(定义自己想要的格式)


相关文章

  • tomcat7使用log4j做日志分割

    tomcat7日志管理的部分内容来自于Apache tomcat 7.0文档中logging部分, http://...

  • 使用cronolog拆分catalina.out日志

    Catalina.out日志随服务器的运行越来越大,必须定期进行拆分,可以使用log4j记录日志,使用log4j本...

  • log4j配置文档

    Log4j简介 通过使用Log4j可以看到程序运行过程中更详细的信息经常在系统之使用Log4j查看日志 使用方法 ...

  • Log4j日志实例的继承与覆盖

    一、日志实例 log4j核心类图 创建Logger实例: 使用log4j的日志功能时,首先需要创建一个Logger...

  • log4j

    .log4j介绍 1通过log4j可以看到程序运行过程中更详细的信息 (1)经常使用log4j查看日志 2使用 (...

  • log日志使用及冲突解决

    1 日志使用规范 应用中不应该直接使用日志系统(Log4j,Logback)中的API,而应该依赖使用日志框架SL...

  • logging 模块使用

    简单使用 日志分割 按天分割, 保留5份历史日志 日志等级(level) logging.warn('error ...

  • logback学习笔记

    目的:将项目中的log4j改为logback,并且使用门面日志slf4j进行打印日志。 1.删除log4j的依赖 ...

  • 阿里巴巴 Java 开发手册(二)

    (二)日志规约 1.【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框...

  • 阿里Java开发手册日志规约的思考和理解(一)

    待分析的日志规约 【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架...

网友评论

      本文标题:tomcat7使用log4j做日志分割

      本文链接:https://www.haomeiwen.com/subject/ygvyaftx.html