Log4j的配置介绍

た 入场券 2021-11-11 20:36 416阅读 0赞

一、什么是Log4j

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

二、Log4j的配置模板

  1. #系統启动日志 --> 调试日志 --> 信息日志 --> 警告日志 --> 错误日志
  2. #定义日志输入级别,以及不同输出目的地(第1位为:日志级别;其他的是输出目的地的自定义名称)
  3. log4j.rootLogger=debug,console,i,w,e,druid
  4. #定义日志输出目的地 (控制台)
  5. log4j.appender.console=org.apache.log4j.ConsoleAppender
  6. #定义日志以什么形式进行输出,黑色System.out 红色System.err
  7. log4j.appender.console.Target=System.out
  8. #定义日志输出时,以什么格式进行输出
  9. log4j.appender.console.layout=org.apache.log4j.PatternLayout
  10. # %d 发生的时间 %p 日志级别 %c发生在哪个类 %l 发生在哪一行 %m 日志信息 %n换行
  11. log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l --%m%n
  12. #日志输出到控制台的最低级别(控制台中输出:DEBUG以上的所有的日志)
  13. log4j.appender.console.Threshold=DEBUG
  14. #定义日志输入目的地 (文件)
  15. log4j.appender.i=org.apache.log4j.RollingFileAppender
  16. #设置具体的文件路径
  17. log4j.appender.i.File=d:/logs/ssh-info.log
  18. #设置文件最大容量
  19. log4j.appender.i.MaxFileSize=50MB
  20. #设置文件备份数量
  21. log4j.appender.i.maxBackupIndex=5
  22. #设置文件输出方式:覆盖|追加(true)
  23. log4j.appender.i.Append=true
  24. #日志输出到文件的最低级别
  25. log4j.appender.i.Threshold=INFO
  26. #定义日志输出时,以什么格式进行输出
  27. log4j.appender.i.layout=org.apache.log4j.PatternLayout
  28. log4j.appender.i.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
  29. #定义日志文件中,最低记录级别,以及最高记录级别
  30. log4j.appender.i.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
  31. log4j.appender.i.filter.infoFilter.levelMin=INFO
  32. log4j.appender.i.filter.infoFilter.levelMax=INFO
  33. #定义日志输入目的地 (文件)
  34. log4j.appender.w=org.apache.log4j.RollingFileAppender
  35. #设置具体的文件路径
  36. log4j.appender.w.File=d:/logs/ssh-warn.log
  37. #设置文件最大容量
  38. log4j.appender.w.MaxFileSize=50MB
  39. #设置文件备份数量
  40. log4j.appender.w.maxBackupIndex=5
  41. #设置文件输出方式:覆盖|追加(true)
  42. log4j.appender.w.Append=true
  43. #日志输出到文件的最低级别
  44. log4j.appender.w.Threshold=WARN
  45. #定义日志输出时,以什么格式进行输出
  46. log4j.appender.w.layout=org.apache.log4j.PatternLayout
  47. log4j.appender.w.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
  48. #定义日志文件中,最低记录级别,以及最高记录级别
  49. log4j.appender.w.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
  50. log4j.appender.w.filter.infoFilter.levelMin=WARN
  51. log4j.appender.w.filter.infoFilter.levelMax=WARN
  52. #定义日志输入目的地 (文件)
  53. log4j.appender.e=org.apache.log4j.RollingFileAppender
  54. #设置具体的文件路径
  55. log4j.appender.e.File=d:/logs/ssh-error.log
  56. #设置文件最大容量
  57. log4j.appender.e.MaxFileSize=50MB
  58. #设置文件备份数量
  59. log4j.appender.e.maxBackupIndex=5
  60. #设置文件输出方式:覆盖|追加(true)
  61. log4j.appender.e.Append=true
  62. #日志输出到文件的最低级别
  63. log4j.appender.e.Threshold=ERROR
  64. #定义日志输出时,以什么格式进行输出
  65. log4j.appender.e.layout=org.apache.log4j.PatternLayout
  66. log4j.appender.e.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p %c %l %m%n
  67. #定义日志文件中,最低记录级别,以及最高记录级别
  68. log4j.appender.e.filter.infoFilter=org.apache.log4j.varia.LevelRangeFilter
  69. log4j.appender.e.filter.infoFilter.levelMin=ERROR
  70. log4j.appender.e.filter.infoFilter.levelMax=ERROR
  71. #定义druid监控程序中,从warn级别的日志开始记录,并且指定记录位置为druid(目的地)
  72. #可以在Druid官网上搜到,不必自己配置
  73. log4j.logger.druid.sql=warn,druid
  74. log4j.logger.druid.sql.DataSource=warn,druid
  75. log4j.logger.druid.sql.Connection=warn,druid
  76. log4j.logger.druid.sql.Statement=warn,druid
  77. log4j.logger.druid.sql.ResultSet=warn,druid
  78. log4j.appender.druid=org.apache.log4j.RollingFileAppender
  79. log4j.appender.druid.File=d:/logs/druid.log
  80. log4j.appender.druid.MaxFileSize=50MB
  81. log4j.appender.druid.maxBackupIndex=5
  82. log4j.appender.druid.Append=true
  83. log4j.appender.druid.Threshold=WARN
  84. log4j.appender.druid.layout=org.apache.log4j.PatternLayout
  85. 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”);

}

发表评论

表情:
评论列表 (有 0 条评论,416人围观)

还没有评论,来说两句吧...

相关阅读

    相关 [Log4j] 配置Log4j

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创

    相关 [Log4j] 配置Log4j

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创

    相关 Log4J配置

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创

    相关 log4j介绍

    log4j是一个日志输出工具,通过它我们可以把日志输出到控制台,文件等。 log4j常用的日志级别有四个,按等级有高到底分别为:ERROR、WARN、INFO、DEBUG。我