log4j 1.2x

log4j1.2xjava

1.全名  logging tools for(four) java
 apache



2.日志显示方式  
 
app

   a. 打印到控制台 (比较便捷,适合程序开发调试阶段,但持久化能力不足)socket

   b. 保存到文件工具

   c. 保存成每日邮件spa

   d. 保存成网页debug

   e. 保存到某个socket位置 


3.日志级别:
调试

 1. DEBUG             (the least serious)                      操做的细节     日志

 2. INFO                                                                   处于哪一个阶段,正在作什么,作完以后结果如何继承

 3. WARN                                                                警告,表示可能出现错误

 4. ERROR                                                              出现了错误,但系统能应付,须要立刻寻求纠正

 5. FATAL             (the most serious)                      出现了致命错误,系统没法继续运行,须要中止工做,等待修复

 
 4.核心:
 

   日志器       logger

   追加器       appender

   风格化工具   layout

5.构成
 

           log4j-1.2.14.jar

           log4j.properties
 

 content:
###################################################################

#

# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)

#

# The five logging levels used by Log are (in order):

#

#   1. DEBUG (the least serious)

#   2. INFO

#   3. WARN

#   4. ERROR

#   5. FATAL (the most serious)

 

 

#  Set root logger level to WARN and append to stdout
根日志器,其它日志器若是没有特殊指明其日志游戏规则,那么将默认继承根日志器的规则。 
# rootLogger是在系统中,全部Log4j日志器的父类,相似于日志器的Object. 
log4j.rootLogger=warn,appender1,appender2,....appenderN.. (第一个参数为日志级别,后面的是追加器)

log4j.rootLogger=Error, stdout  

#某个包下面的全部类以及子包类统一设置日志操做规则

log4j.logger.edu.fjnu=info


#定制本身的日志说明,下例表示edu.fjnu下面包的日志输出信息是debug级别 
#
 为某个类的日志器定义个性化设置       log4j.logger.edu.fjnu.Log4jTest=info,appender1,appender2... 
 log4j.logger.edu.fjnu.Log4jTest=debug, stdout  
 


#  stdout  : standard out  标准输出(追加器名称)      org.apache.log4j.ConsoleAppender   这是控制台追加器               

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 

# Pattern to output the caller's file name and line number.
#  %d:为时间(date)   %5p:%5表明最长宽度是5 ( %-5p  表示右对齐 )  p为日志级别   %c 为类名(class)   %m   为消息本体(message) %n  为换行 

log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n

 

# Print only messages of level ERROR or above in the package noModule.

log4j.logger.noModule=FATAL

 

#log4j.logger.com.opensymphony.xwork2=DEBUG

#log4j.logger.org.apache.struts2=DEBUG

 

############################################################################

6. log4j日志器的建立

 

   1)一个类仅仅拥有一个日志器

      private static final Logger logger = Logger.getLogger(Test.class);

 

7. appender的设置
 
//制定控制台追加器,名为stdou 

   log4j.appender.stdout=org.apache.log4j.ConsoleAppender

   log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

   log4j.appender.stdout.layout.ConversionPattern= %d{yyyyMMdd HH:mm:ss,SSS} %5p [%c] %m%n


//制定 每日滚动文件追加器名为file,可按时间建立日志文件即会天天一文件的归档

   log4j.appender.file=org.apache.log4j.DailyRollingFileAppender

   log4j.appender.file.File=d:\a.log                 //日志文件保存的路径

   log4j.appender.file.layout=org.apache.log4j.PatternLayout

   log4j.appender.file.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss,SSS} [%C:%M] - %m%n 

 


8.example:

package edu.fjnu.test;
import org.apache.log4j.Logger;

public class Log4jTest {

 

private static final Logger logger = Logger.getLogger(Log4jTest.class);

 

public static void main(String[] args) {

// 查看当前日志级别是否为info 级别,若是是就打印

if (logger.isInfoEnabled())

logger.info("开始工做了.....");

 

System.out.println("忙了一天了,真累");

 

if (logger.isInfoEnabled())

logger.info("下班了....");

}

 

}

相关文章
相关标签/搜索