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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章