log4j.properties
把这个文件放到 src 文件夹下
###############################log4j.properties###############################
#日志输出级别
log4j.rootLogger=DEBUG, R
# File 输出 一天一个文件,输出路径可以定制,一般在根路径下
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#日志路径
log4j.appender.R.file=F:/rmtic/log/log_
#日期文件名
log4j.appender.file.DatePattern=yyyy-MM-dd'.log'
#追加日志
log4j.appender.R.Append=true
#日志布局
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
Log.java
package com.rmtic.log;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log {
// Logger实例
public Logger loger;
// 将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用
private static Log log;
// 构造函数,用于初始化Logger配置需要的属性
private Log() {
// 获得当前目录路径
String filePath = this.getClass().getResource("/").getPath();
// 找到log4j.properties配置文件所在的目录(已经创建好)
filePath = filePath.substring(1).replace("bin", "src");
// 获得日志类loger的实例
loger = Logger.getLogger(this.getClass());
// loger所需的配置文件路径
PropertyConfigurator.configure(filePath + "log4j.properties");
}
public static Log getLoger() {
if (log != null)
return log;
else
return new Log();
}
}
package com.rmtic.test;
import com.rmtic.log.Log;
public class test {
/**
* @param args
*/
// 测试函数
public static void main(String args[]) {
Log log = Log.getLoger();
log.loger.info("a");
/*try {
int a = 2 / 0;
} catch (Exception e) {
// 控制台打印异常信息
e.printStackTrace();
// 写入到日子文件
log.loger.error("error", e);
log.loger.info("a");
}*/
}
}