• log4j与log4j.properties的配置


    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt233

    摘要:   

      一、配置步骤
      1、  在应用程序中使用log4j
      2、  把log4j-*.*jar放入CLASSPATH变量中
      3、  新建一个配置文件log4j.properties,放于bin文件下
      二、配置log4j.properties
      新建一个配置文件log4j.properties:
      log4j.rootLogger=WARN, stdout, R
      log4j.appender.stdout=org.apache.log4j.ConsoleAppender
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      # Pattern to output the caller's file name and line number.
      #log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
      # Print the date in ISO 8601 format
      log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
      log4j.appender.R=org.apache.log4j.RollingFileAppender
      log4j.appender.R.File=example.log
      log4j.appender.R.MaxFileSize=100KB
      # Keep one backup file
      log4j.appender.R.MaxBackupIndex=1
      log4j.appender.R.layout=org.apache.log4j.PatternLayout
      log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
      # Print only messages of level WARN or above in the package com.foo.
      log4j.logger.com.foo=WARN
      编译并运行TestLog4j会在目录下生成一个example.log的文件,屏幕也会输出信息,这证明已经你已经成功了第一步。
      下面解释下这些配置文件
      log4j.rootLogger = [ level ], appendName1, appendName2, …appendNameN。同一个记录器可有多个输出端。
      PS:level的级别(此级别可以自定义,系统默认提供了以下级别)
      debug//调试信息
      info//一般信息
      warn//警告信息
      error//错误信息
      fatal//致命错误信息
      上面列出的就是所谓log4j的输出级别,log4j建议只使用4个级别,它们从上到下分别为ERROR、WARN、INFO、DEBUG,假设你定义的级别是info,那么error和warn的日志可以显示而比他低的debug信息就不显示了。
      log4j.appender.appenderName = fully.qualified.name.of.appender.class。log4j提供了以下几种常用的输出目的地:
      org.apache.log4j.ConsoleAppender,将日志信息输出到控制台
      org.apache.log4j.FileAppender,将日志信息输出到一个文件
      org.apache.log4j.DailyRollingFileAppender,将日志信息输出到一个,并且每天输出到一个新的日志文件
      org.apache.log4j.RollingFileAppender,将日志信息输出到一个文件,通过指定文件的的尺寸,当文件大小到达指定尺寸的时候会自动把文件改名,如名为example.log的文件会改名为 example.log.1,同时产生一个新的example.log文件。如果新的文件再次达到指定尺寸,又会自动把文件改名为 example.log.2,同时产生一个example.log文件。依此类推,直到example.log. MaxBackupIndex, MaxBackupIndex的值可在配置文件中定义。
      org.apache.log4j.WriterAppender,将日志信息以流格式发送到任意指定的地方。
      org.apache.log4j.jdbc.JDBCAppender,通过JDBC把日志信息输出到数据库中。
      Log4j提供了一下几种布局:
      org.apache.log4j.HTMLLayout,以HTML表格形式布局
      org.apache.log4j.PatternLayout,可以灵活地指定布局模式
      org.apache.log4j.SimpleLayout,包含日志信息的级别和信息字符串
      定义一个PatternLayout布局的语句为:
      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
      log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1} - %m%n
      PS:ConversionPattern参数的格式含义
      格式名 含义
      %c 输出日志信息所属的类的全名
      %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
      %f 输出日志信息所属的类的类名
      %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
      %m 输出代码中指定的信息,如log(message)中的message
      %n 输出一个回车换行符,Windows平台为“ ”,Unix平台为“ ”
      %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
      %r 输出自应用启动到输出该日志信息所耗费的毫秒数
      %t 输出产生该日志事件的线程名
      三、在代码中使用Log4j
      我们在需要输出日志信息的类中做如下的三个工作:
      1、导入所有需的log4j类:
      import org.apache.log4j.Logger;
      import org.apache.log4j.PropertyConfigurator;
      2、在自己的类中定义一个私有静态类成员:
      static Logger logger = Logger.getLogger(TestLog4j.class)
      3、使用类的成员方法输出日志信息:
    1.    if (log.isDebugEnabled())

    2.      {

    3.         log.debug("111");

    4.      }

    5.    if (log.isInfoEnabled())

    6.     {

    7.        log.info("222");

    8.     }

    9.    if (log.isWarnEnabled())

    10.     {

    11.        log.warn("333");

    12.     }

    13.    if (log.isErrorEnabled())

    14.     {

    15.       log.error("444");

    16.     }

    17.    if (log.isFatalEnabled())

    18.     {

    19.       log.fatal("555")

    20.     }  

  • 相关阅读:
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
  • 原文地址:https://www.cnblogs.com/grefr/p/6094850.html
Copyright © 2020-2023  润新知