Log4j的配置介绍

一、什么是Log4j

log4j--log for java(java的日志):是Apache为我们提供了一个强有力的日志操作包。通过Log4j的语言接口,您可以在Java、C、C++.NetPL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EEJINI甚至是SNMP应用中。

二、Log4j的配置模板

#系統启动日志 -->  调试日志 -->  信息日志  --> 警告日志  -->  错误日志
#定义日志输入级别,以及不同输出目的地(第1位为:日志级别;其他的是输出目的地的自定义名称)
log4j.rootLogger=debug,console,i,w,e,druid
#定义日志输出目的地 (控制台)
log4j.appender.console=org.apache.log4j.ConsoleAppender
#定义日志以什么形式进行输出,黑色System.out    红色System.err
log4j.appender.console.Target=System.out
#定义日志输出时,以什么格式进行输出
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# %d 发生的时间  %p 日志级别  %c发生在哪个类  %l 发生在哪一行  %m 日志信息  %n换行
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l --%m%n
#日志输出到控制台的最低级别(控制台中输出:DEBUG以上的所有的日志)
log4j.appender.console.Threshold=DEBUG

#定义日志输入目的地 (文件)
log4j.appender.i=org.apache.log4j.RollingFileAppender
#设置具体的文件路径
log4j.appender.i.File=d:/logs/ssh-info.log
#设置文件最大容量
log4j.appender.i.MaxFileSize=50MB
#设置文件备份数量
log4j.appender.i.maxBackupIndex=5
#设置文件输出方式:覆盖|追加(true)
log4j.appender.i.Append=true
#日志输出到文件的最低级别
log4j.appender.i.Threshold=INFO
#定义日志输出时,以什么格式进行输出
log4j.appender.i.layout=org.apache.log4j.PatternLayout
log4j.appender.i.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
#定义日志文件中,最低记录级别,以及最高记录级别
log4j.appender.i.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.i.filter.infoFilter.levelMin=INFO
log4j.appender.i.filter.infoFilter.levelMax=INFO


#定义日志输入目的地 (文件)
log4j.appender.w=org.apache.log4j.RollingFileAppender
#设置具体的文件路径
log4j.appender.w.File=d:/logs/ssh-warn.log
#设置文件最大容量
log4j.appender.w.MaxFileSize=50MB
#设置文件备份数量
log4j.appender.w.maxBackupIndex=5
#设置文件输出方式:覆盖|追加(true)
log4j.appender.w.Append=true
#日志输出到文件的最低级别
log4j.appender.w.Threshold=WARN
#定义日志输出时,以什么格式进行输出
log4j.appender.w.layout=org.apache.log4j.PatternLayout
log4j.appender.w.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
#定义日志文件中,最低记录级别,以及最高记录级别
log4j.appender.w.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.w.filter.infoFilter.levelMin=WARN
log4j.appender.w.filter.infoFilter.levelMax=WARN

#定义日志输入目的地 (文件)
log4j.appender.e=org.apache.log4j.RollingFileAppender
#设置具体的文件路径
log4j.appender.e.File=d:/logs/ssh-error.log
#设置文件最大容量
log4j.appender.e.MaxFileSize=50MB
#设置文件备份数量
log4j.appender.e.maxBackupIndex=5
#设置文件输出方式:覆盖|追加(true)
log4j.appender.e.Append=true
#日志输出到文件的最低级别
log4j.appender.e.Threshold=ERROR
#定义日志输出时,以什么格式进行输出
log4j.appender.e.layout=org.apache.log4j.PatternLayout
log4j.appender.e.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
#定义日志文件中,最低记录级别,以及最高记录级别
log4j.appender.e.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.e.filter.infoFilter.levelMin=ERROR
log4j.appender.e.filter.infoFilter.levelMax=ERROR

#定义druid监控程序中,从warn级别的日志开始记录,并且指定记录位置为druid(目的地)
#可以在Druid官网上搜到,不必自己配置
log4j.logger.druid.sql=warn,druid
log4j.logger.druid.sql.DataSource=warn,druid
log4j.logger.druid.sql.Connection=warn,druid
log4j.logger.druid.sql.Statement=warn,druid
log4j.logger.druid.sql.ResultSet=warn,druid

log4j.appender.druid=org.apache.log4j.RollingFileAppender
log4j.appender.druid.File=d:/logs/druid.log
log4j.appender.druid.MaxFileSize=50MB
log4j.appender.druid.maxBackupIndex=5
log4j.appender.druid.Append=true
log4j.appender.druid.Threshold=WARN
log4j.appender.druid.layout=org.apache.log4j.PatternLayout
log4j.appender.druid.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n

三、运用在代码中

我们在需要输出日志信息的类中做如下的三个工作:

1、导入所有需的commons-logging类:

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

2、在自己的类中定义一个org.apache.commons.logging.Log类的私有静态类成员:

private final Log log = LogFactory.getLog(getClass());

LogFactory.getLog()方法的参数使用的是当前类的class。

3、使用org.apache.commons.logging.Log类的成员方法输出日志信息:

if (log.isDebugEnabled()){

log.debug("111");

}

if (log.isInfoEnabled()){

log.info("222");

}

if (log.isWarnEnabled()){

log.warn("333");

}

if (log.isErrorEnabled()){

log.error("444");

}

if (log.isFatalEnabled()){

log.fatal("555");

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值