今天配置log4j文件时检查了好几遍文件,发现都没有问题
#控制logj的输出目的地
#【语法】
# 级别,目的地1,目的地2,目的地3,目的地4...
log4j.rootLogger = debug,stdout,wsdDebug,wsdError
########
# org.apache.log4j.ConsoleAppender 输出到控制台
# org.apache.log4j.FileAppender 输出到文件
# org.apache.log4j.DailyRollingFileAppender 输出到文件 (每日滚动型)
########
### 配置目的地输出源1: stdout 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
# %p 级别
# %d 时间
# %l 所在行
# %m 日志内容
# %n 换行
log4j.appender.stdout.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss,SSS} %l%m%n
# 独立控制当前这个目的地的输出级别
log4j.appender.stdout.Threshold = debug
### 配置目的地输出源2: wsdDebug 输出信息到文件(Logs/debug.log),只记录DEBUG级别以上的日志 ###
log4j.appender.wsdDebug = org.apache.log4j.DailyRollingFileAppender
log4j.appender.wsdDebug.layout = org.apache.log4j.PatternLayout
log4j.appender.wsdDebug.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss,SSS} [ %l ] %m%n
log4j.appender.wsdDebug.Threshold = debug
log4j.appender.wsdDebug.File = /Logs/Debug/yockDebug.log
### 配置目的地输出源3:wsdError 输出信息到文件(Logs/error.log),只记录ERROR级别以上的日志 ###
log4j.appender.wsdError = org.apache.log4j.DailyRollingFileAppender
log4j.appender.wsdError.layout = org.apache.log4j.PatternLayout
log4j.appender.wsdError.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.wsdError.Threshold = error
log4j.appender.wsdError.File = /Logs/Error/yockError.log
#属性文件的语法
#属性名=值
username=张三
password=000000
这个是我的测试代码
package 异常机制.log4j;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
public class Test {
//准备一个logger对象
private static Logger logger = Logger.getLogger(Test.class);
public static void main(String[] args) {
try {
InputStream input = new FileInputStream("/Users/wushiwei/文件/asdasdsaddt.txt");
} catch (FileNotFoundException e) {
//这里的信息,我们叫错误日志信息
//e.printStackTrace(); //将e这个异常对象的信息,打印到控制台(以红色文本显示)
//以debug级别输出日志
logger.debug("", e);
//以error级别输出日志
// logger.error("", e);
}
///以下这些信息,我们叫普通日志信息
// logger.debug("后面的代码");
// logger.debug("后面的代码");
// logger.debug("后面的代码");
// logger.debug("后面的代码");
// System.out.println("后面的代码...");
// System.out.println("后面的代码...");
// System.out.println("后面的代码...");
// System.out.println("后面的代码...");
}
}
解决方案:
就在测试代码的main里面添加一句
BasicConfigurator.configure(); //自动快速地使用缺省Log4j环境
之后就成功了,离大谱了!!!!