lo4j學習

經典地址http://blog.csdn.net/azheng270/article/details/2173430

JAVA文件

package mainCenter;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 2011-6-23
 * Time: 15:32:14
 * To change this template use File | Settings | File Templates.
 */
public class MainCenter {
    private static final Logger log = Logger.getLogger(MainCenter.class);
    private static final Logger log2 = Logger.getLogger("H");
    
    public static void main(String[] args){
        /**
         * Log4j配置方法PropertyConfigurator.configure//手工指定配置文件
         * 不使用該方法,或者根據該方法找不到文件,則調用根目錄下的默認配置文件,文件名必須是log4j.properties
         * 如果不進行手工指定,且根目錄下沒有默認名字的配置文件,則Log4j報錯
         */
        //PropertyConfigurator.configure("E:\\workspace\\study\\txtio\\src/log4j2.properties");
        
        try{
            KeywordService.load();
            for(Map.Entry<String, String> node:KeywordService.keywordList){
//log4j
            log2.info(node.getValue());


                
//普通IO
//                String str = null;
//                try {
//                  str = new String(node.getValue().getBytes(), "UTF-8");
//                }catch (UnsupportedEncodingException ex) {
//                    ex.printStackTrace();
//                }
//                OutputService.write(CnToSpell.getFullSpell(str));
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        System.out.println("end");
    }
}

log4j.properties文件

#將等級爲INFO的日誌輸出到stdout和R兩個目的地
log4j.rootLogger=INFO, stdout, R
log4j.logger.H=INFO, R, DATABASE#H是包名,程序中Logger.getLogger("H")可以獲得該logger
log4j.logger.H.K=INFO, R, DATABASE#H.K默認會繼承H,這裏進行了重定義

#子Log無法覆蓋根Log,都寫的結果是輸出
#log4j.logger.com.gargoylesoftware.htmlunit.html.BaseFrame=FATAL
#log4j.logger.com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.out
#Target=System.out是默認值

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss.SSS} %5p (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log/log4j1.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss.SSS} %5p (%F:%L) - %m%n
log4j.appender.R.Append=true#log4j.rootLogger;
#其中 [level] 是日誌輸出級別,共有5級:
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7

#log4j.appender = list;

# log4j.appender.name1=org.apache.log4j.ConsoleAppender(控制檯);
	# //公共屬性
		# log4j.appender.name1.Layout=org.apache.log4j.HTMLLayout(以HTML表格形式佈局);
		# log4j.appender.name1.Append = true
		# log4j.appender.D.Threshold = DEBUG 
		## 只輸出DEBUG級別以上的日誌(重定向級別)
	## //私有屬性
		# log4j.appender.name1.Target = System.out
		# log4j.appender.name1.x2
		# log4j.appender.name1.x3
		# log4j.appender.name1.x4
		
		
# log4j.appender.name2=org.apache.log4j.FileAppender(文件);
	# //公共屬性
		# log4j.appender.name2.Layout=org.apache.log4j.PatternLayout(可以靈活地指定佈局模式);
		# log4j.appender.name2.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
		# log4j.appender.name2.Append = true
		# log4j.appender.D.Threshold = DEBUG 
		## 只輸出DEBUG級別以上的日誌(重定向級別)
	## //私有屬性
		# log4j.appender.name2.File = logs/error.log
		# log4j.appender.name2.x
		# log4j.appender.name2.x
		
		
# log4j.appender.name3=org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件);
	# //公共屬性
		# log4j.appender.name3.Layout=org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串);
		# log4j.appender.name3.Append = true
		# log4j.appender.D.Threshold = DEBUG 
		## 只輸出DEBUG級別以上的日誌(重定向級別)
	## //私有屬性
		# log4j.appender.name3.File = logs/error.log
		# log4j.appender.name3.x
		# log4j.appender.name3.x


# log4j.appender.name4=org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件);
	# //公共屬性
		# log4j.appender.name4.Layout=org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息);
		# log4j.appender.name4.Append = true# log4j.appender.D.Threshold = DEBUG
		## 只輸出DEBUG級別以上的日誌(重定向級別)
	## //私有屬性
		# log4j.appender.name4.File = logs/error.log
		# log4j.appender.name4.x
		# log4j.appender.name4.x
 
 
# log4j.appender.name5=org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方);
	# //公共屬性
		# log4j.appender.name5.Layout=上述任何一種;
		# log4j.appender.name5.Append = true# log4j.appender.D.Threshold = DEBUG 
		## 只輸出DEBUG級別以上的日誌(重定向級別)
	## //私有屬性
		# log4j.appender.name5.x
		# log4j.appender.name5.x
		# log4j.appender.name5.x
 
 ######################## 
 # JDBC Appender 
 ####################### 
 log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender 
 log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
 log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver log4j.appender.DATABASE.user=weinianjie 
 log4j.appender.DATABASE.password=123 
 log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') 
 log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout 
 log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章