package com.huiqinbo;????
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
???
/**??
30.* @author huiqinbo??
31.* Log演示程序??
32.*/???
public class Log {
?private Logger loger;
??? private static Log log;
??? private Log()????
??? {
??????? String filePath=this.getClass().getResource("/").getPath();
??????? filePath=filePath.substring(1).replace("bin", "src");
??????? PropertyConfigurator.configure(filePath+"log4j.properties");
??????? loger=Logger.getLogger(this.getClass());
??? }????
????????
??? static Log getLoger()????
??? {
??????? if(log!=null)????
??????????? return log;????
??????? else???
??????????? return new Log();????
??? }
???
???
??? public static void main(String args[])????
??? {????
??????? Log log=Log.getLoger();????
??????? try???
??????? {????
??????????? int c=2/0;????
??????? }catch(Exception e)????
??????? {
??????????? e.printStackTrace();
??????????? log.loger.error("今天气不错");
??????????? log.loger.error("error", e);
??????????? new Log().write();
????????????????
??????? }????
??? }
??? public void open(){
??? ?
??? }
??? public void close(){
??? ?
??? }
??? public void write(){
??? ?log.loger.error("今天气不错");
??? }
???
}
?
?
?
?
log4j.properties
?
view plaincopy to clipboardprint???
#\u5B9A\u4E49DEBUG\u4F18\u5148\u7EA7\uFF0CR\u4E3A\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u7684????
log4j.rootLogger=DEBUG, R????
#org.apache.log4j.ConsoleAppender?
log4j.appender.R=org.apache.log4j.FileAppender????
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u540Dmy.log????
log4j.appender.R.file=my.log????
#\u6BCF\u6B21\u5728\u6587\u4EF6\u5C3E\u5199\u5165\u65B0\u7684\u65E5\u5FD7\u4FE1\u606F????
log4j.appender.R.Append=true???
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u7C7B\u578B????
log4j.appender.R.layout=org.apache.log4j.PatternLayout????
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u4E3A \u6362\u884C\u3001\u6362\u884C\u3001\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u3001[\u7C7B\u540D]\u3001\u65E5\u5FD7\u4FE1\u606F\u3001\u6362\u884C????
log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n???
1#\u5B9A\u4E49DEBUG\u4F18\u5148\u7EA7\uFF0CR\u4E3A\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u7684??
log4j.rootLogger=DEBUG, t??
#org.apache.log4j.ConsoleAppender???
log4j.appender.t=org.apache.log4j.FileAppender??
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u540Dmy.log??
log4j.appender.t.file=my1.log??
#\u6BCF\u6B21\u5728\u6587\u4EF6\u5C3E\u5199\u5165\u65B0\u7684\u65E5\u5FD7\u4FE1\u606F??
log4j.appender.t.Append=true?
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u7C7B\u578B??
log4j.appender.t.layout=org.apache.log4j.PatternLayout??
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u4E3A \u6362\u884C\u3001\u6362\u884C\u3001\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u3001[\u7C7B\u540D]\u3001\u65E5\u5FD7\u4FE1\u606F\u3001\u6362\u884C??
log4j.appender.t.layout.ConversionPattern=%n%n%d%p[%c]-%m%n