一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

log4j配置

 rui5327 2013-01-05
com.dreamsover.report.assessManage.bs.impl.AssessBsImpl.addAssess=\u6DFB\u52A0\u6BCF\u6708\u5BA1\u6838\u4FE1\u606F
com.dreamsover.report.assessManage.bs.impl.AssessBsImpl.getLineAssesssThisMonth=\u67E5\u8BE2\u672C\u6708\u6240\u6709\u5BA1\u6838\u60C5\u51B5
com.dreamsover.report.checkManage.bs.impl.CheckBsImpl.addCheck=\u6DFB\u52A0\u672C\u6708\u68C0\u67E5\u62A5\u8868
bringspring.action.user.LoginAction.login=\u767B\u5F55\u7CFB\u7EDF
bringspring.action.user.LoginAction.logout=\u9000\u51FA\u7CFB\u7EDF
bringspring.action.rlzy.dictionary.SystemdictionaryAction.syslist=\u83B7\u53D6\u7CFB\u7EDF\u5217\u8868
bringspring.action.rlzy.dictionary.SystemdictionaryAction.sysupdatepage=\u4FEE\u6539\u7CFB\u7EDF\u914D\u7F6E\u9875
bringspring.action.rlzy.dictionary.SystemdictionaryAction.sysupdate=\u4FEE\u6539\u7CFB\u7EDF\u914D\u7F6E
bringspring.action.rlzy.dictionary.SystemdictionaryAction.syssavepage=\u4FDD\u5B58\u7CFB\u7EDF\u914D\u7F6E\u9875
bringspring.action.rlzy.dictionary.SystemdictionaryAction.syssave=\u4FDD\u5B58\u7CFB\u7EDF\u914D\u7F6E
bringspring.action.rlzy.dictionary.SystemdictionaryAction.sysdellist=\u5220\u9664\u7CFB\u7EDF\u914D\u7F6E
 

#main
log4j.properties  
log4j.rootLogger=INFO,fileout,db

log4j.logger.org.apache.struts=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.hibernate=ERROR
log4j.logger.org.springframework=ERROR
log4j.logger.com.opensymphony=ERROR
            
#Filelogfile
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=${jxsh.root}/WEB-INF/jxsh.log
log4j.appender.fileout.MaxFileSize=512KB 
log4j.appender.fileout.MaxBackupIndex=3
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}   %X{id},%X{name},[\u7528\u6237\:%X{username}],[\u7528\u6237\u767B\u5F55IP\:%X{userip}],[\u7528\u6237\u64CD\u4F5C\:%m] %C%l%n

#JDBC Appender
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.db.BufferSize=1 
log4j.appender.db.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.db.URL=jdbc:oracle:thin:@localhost:1521:orcl
log4j.appender.db.user=jxsh
log4j.appender.db.password=jxsh
log4j.appender.db.sql = INSERT INTO log(ID,USERID,USERNAME,USERREALNAME,USERIP,logDATE,logTIME,LOGThread,loglevel,logClass,logLogger,logMessage) values (LOG_ID.NEXTVAL,'%X{id}','%X{name}','%X{username}','%X{userip}','%d{yyyy-MM-dd}','%d{HH\:mm\:ss}','%t', '%p', '%c', '%l', '%m') 
log4j.appender.db.layout=org.apache.log4j.PatternLayout


日志是應(yīng)用軟件中不可缺少的部分,Apache的開源項目Log4j是一個功能強大的日志組件,提供方便的日志記錄。以下是個人經(jīng)驗,具體請參考Log4j文檔指南。

Log4j下載
在apache網(wǎng)站:jakarta.apache.org/log4j 可以免費下載到Log4j最新版本的軟件包。

Log4j使用
Log4j的包下載完成后,解壓,將其中打包好的的log4j-1.x.x.jar導(dǎo)入你的工程LIB中。
Log4j之所以受歡迎的原因之一是它的靈活性。Log4j提供了靈活的配置方法,默認是調(diào)用BasicConfigurator.configure()來進行配置,但如果只是簡單的調(diào)用BasicConfigurator.configure()來進行配置工作,那么所有的配置都是固定的,不方便以后修改配置。另一種是動態(tài)配置,Log4j提供了PropertyConfigurator.configure(……)來動態(tài)配置,參數(shù)可以是一個properties文件所在路徑的String對象,可以是一個properties文件所在路徑的URL對象,也可以是一個properties對象。如果要用XML文件來配置信息,則可用類型的DOMConfigurator()函數(shù)來從一個XML文件中加載配置信息。這種方式更方便修改配置。

動態(tài)配置


java 代碼
package http;    
   
import org.apache.log4j.BasicConfigurator;    
import org.apache.log4j.Logger;    
import org.apache.log4j.PropertyConfigurator;    
import org.apache.log4j.xml.DOMConfigurator;    
   
public class Log4jDemo {    
    static Logger log = Logger.getLogger(Log4jDemo.class.getClass());    
    /** 
      * main 
      * @param args 
      */   
    public static void main(String[] args) {    
         BasicConfigurator.configure();//默認配置    
         PropertyConfigurator.configure("c:/log4j.properties");    
        //動態(tài)配置,參數(shù)可以是一個properties文件所在路徑的String對象    
        //可以是一個properties文件所在路徑的URL對象,也可以是一個properties對象    
            
         DOMConfigurator.configure("c:/log4j.xml");//XML配置文件    
   
        //PropertyConfigurator.configure()的參數(shù)還可以是XML、Properties對象    
            
        //下面就可使用log4j    
         log.info("info");    
         log.debug("debug");    
         log.error("error");    
         log.warn("warn");    
     }    
   
}    


J2EE應(yīng)用log4j
上面代碼描述了Log4j的簡單應(yīng)用,其實使用Log4j也就是這樣簡單方便。當(dāng)然除了上面的配置方法,還有其它,比如做一個J2EE應(yīng)用,在J2EE應(yīng)用使用Log4j,必須先在啟動服務(wù)時加載Log4j的配置文件進行初始化,可以在web.xml中進行。

java 代碼
import java.io.IOException;    
import java.io.PrintWriter;    
   
import javax.servlet.ServletException;    
import javax.servlet.http.HttpServlet;    
import javax.servlet.http.HttpServletRequest;    
import javax.servlet.http.HttpServletResponse;    
   
   
   
public class J2eeLog4jDemo extends HttpServlet {    
   
    public void destroy() {    
        super.destroy();    
     }       
    public void doGet(HttpServletRequest request, HttpServletResponse response)    
            throws ServletException, IOException {    
     }    
    public void doPost(HttpServletRequest request, HttpServletResponse response)    
            throws ServletException, IOException {          
     }    
    public void init() throws ServletException {    
        //通過web.xml來動態(tài)取得配置文件    
         String prefix = getServletContext().getRealPath("/");    
         String file = getInitParameter("log4j");    
   
        //如果沒有給出相應(yīng)的配置文件,則不進行初始化    
        if(file != null)    
         {    
             PropertyConfigurator.configure(prefix+file);    
         }    
     }    
   
}    


Web.xml 代碼
<servlet>   
<servlet-name>j2eelog4jdemoservlet-name>   
<servlet-class>J2eeLog4jDemoservlet-class>   
<init-param>   
<param-name>log4jparam-name>   
<param-value>log4j.propertiesparam-value>   
init-param>   
<load-on-startup>1load-on-startup>   //設(shè)為1時,Web容器啟動即進行加載 
servlet>   


使用Spring啟動Log4j,在系統(tǒng)啟動時運行
在web.xml中加入如下代碼  

<!--由Sprng載入的Log4j配置文件位置-->   
<context-param>   
<param-name>log4jConfigLocation</param-name>   
<param-value>/WEB-INF/log4j.properties</param-value>    
</context-param>   
     
<!--Spring默認刷新Log4j配置文件的間隔,單位為millisecond-->   
<context-param>   
<param-name>log4jRefreshInterval</param-name>   
<param-value>60000</param-value>   
</context-param>   
   
<!--Spring log4j 監(jiān)聽器-->   
<listener>   
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>   
</listener>   


同時使用commons-logging和Log4j
1)首先在classpath下尋找自己的配置文件commons-logging.properties,如果找到,則使用其中定義的Log實現(xiàn)類
2)如果找不到commons-logging.properties文件,則在查找是否已定義系統(tǒng)環(huán)境變量org.apache.commons.logging.Log,找到則使用其定義的Log實現(xiàn)類
3)否則,查看classpath中是否有Log4j的包,如果發(fā)現(xiàn),則自動使用Log4j作為日志實現(xiàn)類
4)否則,使用JDK自身的日志實現(xiàn)類(JDK1.4以后才有日志實現(xiàn)類)
5)否則,使用commons-logging自己提供的一個簡單的日志實現(xiàn)類SimpleLog

將commons-logging和Log4j的jar包都放置到classpath下,同時也將Log4j的配置文件放到classpath中,兩者就可以很好的合作,實現(xiàn)如下:


package com.doctorcom.model;    
   
import org.apache.commons.logging.Log;    
   
public class LogFactorySupport {        
       
    public Log getLog(){    
         Log log = org.apache.commons.logging.LogFactory.getLog(LogFactorySupport.class);    
         log.info("");    
         log.debug("");    
     }    
        
}   
java 代碼

Log4j配置內(nèi)容
看一個簡單的java屬性配置文件log4j.properties:

properties 代碼


#指定根Logger,及日志輸出級別,大于等于該級別的日志將被輸出( DEBUG < inFO < WARN < ERROR < FATAL ) 設(shè)為OFF可以關(guān)閉日志    
log4j.rootLogger=DEBUG, A1,A2    
#指定log輸出目的,這里設(shè)為輸出日志到指定目錄的文件my.log中    
log4j.appender.A1=org.apache.log4j.FileAppender    
log4j.appender.A1.File=\\logs\\my.log    #當(dāng)前根目錄下 
#指定日志信息的格式    
log4j.appender.A1.layout=org.apache.log4j.PatternLayout    
log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n    
   
#把A2輸出到控制臺    
log4j.appender.A2=org.apache.log4j.ConsoleAppender    
log4j.appender.A2.layout=org.apache.log4j.SimpleLayout    
   
#還可以單獨指定輸出某個包的日志級別    
#log4j.logger.com.study.HelloLog4j=INFO   
   


1、配置根Logger,其語法為:
log4j.rootLogger = [ level ] , appenderName, appenderName2
level:日志的級別,指定這條日志信息的重要性。分為ALL < DEBUG < INFO < WARN 一般常用的為 DEBUG , INFO ,WARN ,ERROR四種,分別對應(yīng)Logger類的四種方法
debug(Object message ) ;
info(Object message ) ;
warn(Object message ) ;
error(Object message ) ;
如果設(shè)置級別為INFO,則優(yōu)先級大于等于INFO級別(如:INFO、WARN、ERROR)的日志信息將可以被輸出,小于該級別的如:DEBUG將不會被輸出
appenderName :就是指定日志信息輸出目的地,比如(打印到控制臺,輸出到文件等)。同一條日志信息可以配置多個輸出目的地。

2、配置log輸出目的地
Log4j提供以下幾種:
org.apache.log4j.ConsoleAppender(控制臺)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件)
org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
3、log信息的格式
org.apache.log4j.HTMLLayout(HTML表格形式)
org.apache.log4j.SimpleLayout(簡單格式的日志,只包括日志信息的級別和指定的信息字符串 ,如:DEBUG - Hello)
org.apache.log4j.TTCCLayout(日志的格式包括日志產(chǎn)生的時間、線程、類別等等信息)
org.apache.log4j.PatternLayout(靈活地自定義日志格式)

當(dāng)使用org.apache.log4j.PatternLayout來自定義信息格式時,可以使用
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 來格式化信息
%c    輸出所屬類的全名,可寫為 %c{Num} ,Num類名輸出的范圍 如:"com.sun.aaa.classB", %C{2}將使日志輸出輸出范圍為:aaa.classB
%d    輸出日志時間其格式為 可指定格式 如 %d{HH:mm:ss}等
%l    輸出日志事件發(fā)生位置,包括類目名、發(fā)生線程,在代碼中的行數(shù)
%n    換行符
%m    輸出代碼指定信息,如info(“message”),輸出message
%p    輸出日志的優(yōu)先級,即 FATAL ,ERROR 等
%r    輸出從啟動到顯示該條日志信息所耗費的時間(毫秒數(shù))
%t    輸出產(chǎn)生該日志事件的線程名


12 log4j.logger.com. neusoft =DEBUG

指定com.neusoft包下的所有類的等級為DEBUG。

可以把com.neusoft改為自己項目所用的包名。



log4j-一、Log4j配置     
第一步:加入log4j-1.2.8.jar到lib下。

第二步:在CLASSPATH下建立log4j.properties。內(nèi)容如下:

1 log4j.rootCategory=INFO, stdout , R


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

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

5 log4j.appender.stdout.layout.ConversionPattern=【QC】 %p 【%t】 %C.%M(%L) | %m%n


7 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

8 log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log

9 log4j.appender.R.layout=org.apache.log4j.PatternLayout

10 log4j.appender.R.layout.ConversionPattern=%d-【TS】 %p %t %c - %m%n

11 

12 log4j.logger.com.neusoft=DEBUG

13 log4j.logger.com.opensymphony.oscache=ERROR

14 log4j.logger.net.sf.navigator=ERROR

15 log4j.logger.org.apache.commons=ERROR

16 log4j.logger.org.apache.struts=WARN

17 log4j.logger.org.displaytag=ERROR

18 log4j.logger.org.springframework=DEBUG

19 log4j.logger.com.ibatis.db=WARN

20 log4j.logger.org.apache.velocity=FATAL

21 

22 log4j.logger.com.canoo.webtest=WARN

23 

24 log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN

25 log4j.logger.org.hibernate=DEBUG

26 log4j.logger.org.logicalcobwebs=WARN

第三步:相應(yīng)的修改其中屬性,修改之前就必須知道這些都是干什么的,在第二部分講解。

第四步:在要輸出日志的類中加入相關(guān)語句:

定義屬性:protected final Log log = LogFactory.getLog(getClass());

在相應(yīng)的方法中:

if (log.isDebugEnabled())

{

log.debug(“System …..”);

}



log4j-二、Log4j說明     
1 log4j.rootCategory=INFO, stdout , R

此句為將等級為INFO的日志信息輸出到stdout和R這兩個目的地,stdout和R的定義在下面的代碼,可以任意起名。等級可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何信息,如果配置為INFO這樣只顯示INFO, WARN, ERROR的log信息,而DEBUG信息不會被顯示,具體講解可參照第三部分定義配置文件中的logger。

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

此句為定義名為stdout的輸出端是哪種類型,可以是

org.apache.log4j.ConsoleAppender(控制臺), 

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

org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件),

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件)

org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)

具體講解可參照第三部分定義配置文件中的Appender。

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

此句為定義名為stdout的輸出端的layout是哪種類型,可以是

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

org.apache.log4j.PatternLayout(可以靈活地指定布局模式), 

org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串), 

org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間、線程、類別等等信息)

具體講解可參照第三部分定義配置文件中的Layout。

5 log4j.appender.stdout.layout.ConversionPattern= 【QC】 %p 【%t】 %C.%M(%L) | %m%n

如果使用pattern布局就要指定的打印信息的具體格式ConversionPattern,打印參數(shù)如下:

%m 輸出代碼中指定的消息

%p 輸出優(yōu)先級,即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL 

%r 輸出自應(yīng)用啟動到輸出該log信息耗費的毫秒數(shù) 

%c 輸出所屬的類目,通常就是所在類的全名 

%t 輸出產(chǎn)生該日志事件的線程名 

%n 輸出一個回車換行符,Windows平臺為“rn”,Unix平臺為“n” 

%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921 

%l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。

【QC】是log信息的開頭,可以為任意字符,一般為項目簡稱。

輸出的信息

【TS】 DEBUG 【main】 AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean 'MyAutoProxy'

具體講解可參照第三部分定義配置文件中的格式化日志信息。

7 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

此句與第3行一樣。定義名為R的輸出端的類型為每天產(chǎn)生一個日志文件。

8 log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log

此句為定義名為R的輸出端的文件名為D:\\Tomcat 5.5\\logs\\qc.log

可以自行修改。

9 log4j.appender.R.layout=org.apache.log4j.PatternLayout

與第4行相同。

10 log4j.appender.R.layout.ConversionPattern=%d-【TS】 %p %t %c - %m%n

與第5行相同。

12 log4j.logger.com. neusoft =DEBUG

指定com.neusoft包下的所有類的等級為DEBUG。

可以把com.neusoft改為自己項目所用的包名。

13 log4j.logger.com.opensymphony.oscache=ERROR

14 log4j.logger.net.sf.navigator=ERROR

這兩句是把這兩個包下出現(xiàn)的錯誤的等級設(shè)為ERROR,如果項目中沒有配置EHCache,則不需要這兩句。

15 log4j.logger.org.apache.commons=ERROR

16 log4j.logger.org.apache.struts=WARN

這兩句是struts的包。

17 log4j.logger.org.displaytag=ERROR

這句是displaytag的包。(QC問題列表頁面所用)

18 log4j.logger.org.springframework=DEBUG

此句為Spring的包。

24 log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN

25 log4j.logger.org.hibernate=DEBUG

此兩句是hibernate的包。

以上這些包的設(shè)置可根據(jù)項目的實際情況而自行定制。



log4j-三、log4j詳解     
1、定義配置文件

Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是Java特性文件log4j.properties(鍵=值)。下面將介紹使用log4j.properties文件作為配置文件的方法:

①、配置根Logger

Logger 負責(zé)處理日志記錄的大部分操作。 

其語法為:

log4j.rootLogger = 【 level 】 , appenderName, appenderName, …

其中,level 是日志記錄的優(yōu)先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定義的級別。Log4j建議只使用四個級別,優(yōu)先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這里定義的級別,您可以控制到應(yīng)用程序中相應(yīng)級別的日志信息的開關(guān)。比如在這里定義了INFO級別,只有等于及高于這個級別的才進行處理,則應(yīng)用程序中所有DEBUG級別的日志信息將不被打印出來。ALL:打印所有的日志,OFF:關(guān)閉所有的日志輸出。 appenderName就是指定日志信息輸出到哪個地方??赏瑫r指定多個輸出目的地。

②、配置日志信息輸出目的地 Appender

Appender 負責(zé)控制日志記錄操作的輸出。 

其語法為:

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

log4j.appender.appenderName.option1 = value1 

… 

log4j.appender.appenderName.optionN = valueN 

這里的appenderName為在①里定義的,可任意起名。

其中,Log4j提供的appender有以下幾種: 

org.apache.log4j.ConsoleAppender(控制臺), 

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

org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件),

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產(chǎn)生一個新的文件),可通過log4j.appender.R.MaxFileSize=100KB設(shè)置文件大小,還可通過log4j.appender.R.MaxBackupIndex=1設(shè)置為保存一個備份文件。 

org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)

例如:log4j.appender.stdout=org.apache.log4j.ConsoleAppender

定義一個名為stdout的輸出目的地,ConsoleAppender為控制臺。

③、配置日志信息的格式(布局)Layout

Layout 負責(zé)格式化Appender的輸出。

其語法為:

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

log4j.appender.appenderName.layout.option1 = value1 

… 

log4j.appender.appenderName.layout.optionN = valueN 

其中,Log4j提供的layout有以下幾種: 

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

org.apache.log4j.PatternLayout(可以靈活地指定布局模式), 

org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串), 

org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間、線程、類別等等信息)

2、格式化日志信息

Log4J采用類似C語言中的printf函數(shù)的打印格式格式化日志信息,打印參數(shù)如下: 

%m 輸出代碼中指定的消息

%p 輸出優(yōu)先級,即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL 

%r 輸出自應(yīng)用啟動到輸出該log信息耗費的毫秒數(shù) 

%c 輸出所屬的類目,通常就是所在類的全名 

%t 輸出產(chǎn)生該日志事件的線程名 

%n 輸出一個回車換行符,Windows平臺為“rn”,Unix平臺為“n” 

%d 輸出日志時間點的日期或時間,默認格式為ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921 

%l 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。

3、在代碼中使用Log4j

我們在需要輸出日志信息的類中做如下的三個工作:

1、導(dǎo)入所有需的commongs-logging類:

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

2、在自己的類中定義一個org.apache.commons.logging.Log類的私有靜態(tài)類成員:

private final Log log = LogFactory.getLog(getClass());

LogFactory.getLog()方法的參數(shù)使用的是當(dāng)前類的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")


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本婷婷色大香蕉视频在线观看| 老司机这里只有精品视频| 视频一区二区黄色线观看| 欧美精品亚洲精品一区| 欧美一区日韩二区亚洲三区| 国产水滴盗摄一区二区| 好吊日在线观看免费视频| 久久热在线视频免费观看| 婷婷激情五月天丁香社区| 国产精品内射视频免费| 大香蕉伊人一区二区三区| 日本人妻中出在线观看| 欧美性欧美一区二区三区| 欧美成人一区二区三区在线| 免费在线播放不卡视频| 国产一区二区三区不卡| 视频在线免费观看你懂的| 日本一级特黄大片国产| 国产成人精品午夜福利| 在线观看视频成人午夜| 欧美一级内射一色桃子| 欧美视频在线观看一区| 爱草草在线观看免费视频| 日韩丝袜诱惑一区二区| 欧美一二三区高清不卡| 久久精品伊人一区二区| 国产亚洲精品久久99| 国产av大片一区二区三区| 国产精品十八禁亚洲黄污免费观看 | 精品人妻精品一区二区三区| 国产原创中文av在线播放| 欧美国产在线观看精品| 免费在线观看欧美喷水黄片| 一区二区欧美另类稀缺| 精品熟女少妇av免费久久野外| 手机在线不卡国产视频| 欧美一区二区口爆吞精| 91精品欧美综合在ⅹ| 欧美一区二区黑人在线| 亚洲一区二区三区av高清| 亚洲日本中文字幕视频在线观看|