我想自己封装Log4j 为啥不行呢配置文件
log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.File=logs/log.log
log4j.appender.A1.layout.ConversionPattern=%d [%l] [%p] - %m%n封装的类package logger;import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.Logger;public class MyLogger {
private Logger myLogger = null;

public MyLogger(String className) {
myLogger = Logger.getLogger(className);
PropertyConfigurator.configure("properties/log.properties");
}

public void info(String message){
myLogger.info(message);
}

public void error(Object e){
myLogger.error(e);
}
}
调用的类package test;import logger.*;public class Test {

static MyLogger myLogger = new MyLogger("Test");

public static void myFunction(){
try {
int i = 1,j = 0;
myLogger.info("我用i除以j");
System.out.println(i/j);
} catch (Exception e) {
myLogger.error(e);
}
}

public static void main(String[] args) {
myFunction();
}
}结果
2009-03-10 13:02:22,875 [palmcity.traffic.logger.MyLogger.info(MyLogger.java:15)] [INFO] - 我用i除以j
2009-03-10 13:02:22,875 [palmcity.traffic.logger.MyLogger.info(MyLogger.java:15)] [ERROR] - java.lang.ArithmeticException: / by zero我想要的结果
2009-03-10 13:02:45,343 [palmcity.traffic.test.Test2.main(Test2.java:13)] [INFO] - 我用i除以j
2009-03-10 13:02:45,343 [palmcity.traffic.test.Test2.main(Test2.java:16)] [ERROR] - java.lang.ArithmeticException: / by zero红的那里!

解决方案 »

  1.   

    public class MyLogger {
        private static final String FQCN = MyLogger.class.getName();    private Logger myLogger = null;
        
        public MyLogger(String className) {        
            myLogger = Logger.getLogger(className);
            PropertyConfigurator.configure("properties/log.properties");
        }    
        
        public void info(String message){
            //myLogger.info(message);
            myLogger.log(FQCN, LogLevel.INFO, message, null);
        }
        
        public void error(Object e){
            //myLogger.error(message);
            myLogger.log(FQCN, LogLevel.ERROR, message, null);
        }    
    }
      

  2.   

    myLogger.log(FQCN, LogLevel.INFO, message, null);报错  参数类型不对
      

  3.   

    myLogger.log(FQCN, Priority.INFO, message, null);这样才对 给分