log4j.properties 的使用详解

  1.输出级别的种类
java


        ERROR、WARN、INFO、DEBUGapache

        ERROR 为严重错误 主要是程序的错误session

        WARN 为通常警告,好比session丢失多线程

        INFO 为通常要显示的信息,好比登陆登出app

        DEBUG 为程序的调试信息布局



    2.配置日志信息输出目的地线程


        log4j.appender.appenderName = fully.qualified.name.of.appender.class调试

        1.org.apache.log4j.ConsoleAppender(控制台)日志

        2.org.apache.log4j.FileAppender(文件)orm

        3.org.apache.log4j.DailyRollingFileAppender(天天产生一个日志文件)

        4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

        5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)



    3.配置日志信息的格式


        log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

        1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),

        2.org.apache.log4j.PatternLayout(能够灵活地指定布局模式),

        3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

        4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)



    4.控制台选项


        Threshold=DEBUG:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着全部的消息都会被当即输出。

        Target=System.err:默认状况下是:System.out,指定输出控制台

        FileAppender 选项

        Threshold=DEBUF:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着全部的消息都会被当即输出。

        File=mylog.txt:指定消息输出到mylog.txt文件。

        Append=false:默认值是true,即将消息增长到指定文件中,false指将消息覆盖指定的文件内容。

        RollingFileAppender 选项

        Threshold=DEBUG:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着全部的消息都会被当即输出。

        File=mylog.txt:指定消息输出到mylog.txt文件。

        Append=false:默认值是true,即将消息增长到指定文件中,false指将消息覆盖指定的文件内容。

        MaxFileSize=100KB: 后缀能够是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。

        MaxBackupIndex=2:指定能够产生的滚动文件的最大数。

        log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n



    5.日志信息格式中几个符号所表明的含义:


         -X号: X信息输出时左对齐;

         %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,

         %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也能够在其后指定格式,好比:%d{yyy MMM dd HH:mm:ss,SSS},输出相似:2002年10月18日 22:10:28,921

         %r: 输出自应用启动到输出该log信息耗费的毫秒数

         %c: 输出日志信息所属的类目,一般就是所在类的全名

         %t: 输出产生该日志事件的线程名

         %l: 输出日志事件的发生位置,至关于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)

         %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤为用到像java servlets这样的多客户多线程的应用中。

         %%: 输出一个"%"字符

         %F: 输出日志消息产生时所在的文件名称

         %L: 输出代码中的行号

         %m: 输出代码中指定的消息,产生的日志具体信息

         %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行


         


        能够在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。


        如:


             1)   %20c:指定输出category的名称,最小的宽度是20,若是category的名称小于20的话,默认的状况下右对齐。

             2)   %-20c:指定输出category的名称,最小的宽度是20,若是category的名称小于20的话,"-"号指定左对齐。

             3)   %.30c:指定输出category的名称,最大的宽度是30,若是category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。


             4)   %20.30c:若是category的名称小于20就补空格,而且右对齐,若是其名称长于30字符,就从左边较远输出的字符截掉。



2、log4j.properties的配置


    一、配置步骤



      1)  在应用程序中使用log4j

      2)     把log4j-*.*jar放入CLASSPATH变量中

      3)     新建一个配置文件log4j.properties,放于bin文件下

        



    2.新建一个配置文件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的文件,屏幕也会输出信息,这证实已经你已经成功了第一步。

相关文章
相关标签/搜索