输出信息log4j.properties的作用与使用方法

最近应用开发的进程中出现了一个小问题,顺便记录一下原因和方法--输出信息

    一、log4j.properties 用作

         Log4j是Apache的一个开放源码代项目,通过应用Log4j,我们可以控制日记信息运送的目的地是控制台、文件、GUI件组、甚至是套接口服务器、NT的事件记录器、UNIXSyslog护守程进等;我们也可以控制每一条日记的输出格式;通过定义每一条日记信息的级别,我们够能更加致细地控制日记的成生进程。最使人感兴趣的就是,这些可以通过一个配置文件来灵巧地行进配置,而不需要修改应用的码代。

       此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL序程中应用Log4j,其语法和用法与在Java序程中一样,使得多语言 分布式系统到得一个同一致一的日记件组模块。而且,通过应用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。(转自:http://blog.sina.com.cn/s/blog_761110d701017yuu.html)

    二、log4j.properties 应用方法

    .数参意思说明:

    输出级别的种类

    ERROR、WARN、INFO、DEBUG

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

    WARN 为一般正告,比如session失丢

    INFO 为一般要表现的信息,比如登录登出

    DEBUG 为序程的调试信息

    配置日记信息输出目的地

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

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

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

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

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

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

    配置日记信息的格式

    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(含包日记生产的间时、线程、类别等等信息)

    控制台选项

    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

    日记信息格式中几个符号所代表的含意:

 -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符字,就从边左较远输出的符字截掉。

    三、用常配置Demo

# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
log4j.rootLogger=info, stdout,file
# My logging configuration...
#log4j.logger.com.tocersoft.school=DEBUG
#log4j.logger.net.sf.hibernate.cache=debug
## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=../logs/iask.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n

log4j.logger.org.apache.activemq.spring=WARN
#see cache info
log4j.logger.org.hibernate.cache=info

文章结束给大家分享下程序员的一些笑话语录: 开发时间
  项目经理: 如果我再给你一个人,那可以什么时候可以完工?程序员: 3个月吧!项目经理: 那给两个呢?程序员: 1个月吧!
项目经理: 那100呢?程序员: 1年吧!
项目经理: 那10000呢?程序员: 那我将永远无法完成任务.

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3065695.html