Log4j配置文件一些配置说明

最近项目想要加入日志记录功能,选择了log4j,贴出一下Log4j的配置,仅作以后参考

Log.java

/**
 * 日志类
 *
 * @author yang.yue
 *
 */
public class Log {
	// Logger实例
	public Logger logger = null;//类属性值在构造方法初始化
	// 构造函数,用于初始化Logger配置需要的属性
	private Log() {
		// 获得当前目录路径 打包路径问题
		// String filePath=this.getClass().getResource("/").getPath();
		// 找到log4j.properties配置文件所在的目录(已经创建好)
		InputStream is = this.getClass().getResourceAsStream("/log4j.properties");
		// 获得日志类logger的实例
		logger = Logger.getLogger(this.getClass());
		// logger所需的配置文件路径
		// PropertyConfigurator.configure(filePath+"log4j.properties");
		PropertyConfigurator.configure(is);
	}
	private Log(String logName) {
		// 获得当前目录路径 打包路径问题
		// String filePath=this.getClass().getResource("/").getPath();
		// 找到log4j.properties配置文件所在的目录(已经创建好)
		InputStream is = this.getClass().getResourceAsStream("/log4j.properties");
		// 获得日志类logger的实例
		logger = Logger.getLogger(logName);
		// logger所需的配置文件路径
		// PropertyConfigurator.configure(filePath+"log4j.properties");
		PropertyConfigurator.configure(is);
	}
	private static class Loginstance{
		private static final Log log = new Log();
	}
	public static Log getLogger() {
		return Loginstance.log;
	}

	private static class MyLoginstance{
		private static final Log log = new Log("mylogger");
	}
	public static Log mygetLogger() {
		return MyLoginstance.log;
	}
}

log4j.properties

#定义DEBUG优先级,R为日志输出目的的 ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
log4j.rootLogger=ERROR, R

log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
log4j.logger.org.hibernate.type.descriptor.sql.BasicExtractor=ERROR
#log4j.logger.org.hibernate.tool.hbm2ddl=ERROR
log4j.logger.org.hibernate.SQL=TRACE
log4j.logger.org.hibernate.jdbc=TRACE
log4j.logger.org.hibernate.cache=debug
log4j.logger.org.hibernate.type=ERROR
log4j.logger.org.hibernate.transaction=ERROR
#设置日志输出类型,为文件类型
log4j.appender.R=org.apache.log4j.RollingFileAppender
# Threshold全局过滤器 在 log4j.rootlogger=[level]的基础上再次过滤
#log4j.appender.R.Threshold=ERROR
#设置日志文件名my.log
log4j.appender.R.file=logs.log
#编码
log4j.appender.R.encoding=UTF-8
#设置日志文件大小log4j.appender.R.MaxFileSize=3MB
#文件超10M备份新建,最多5个`,自动删掉最旧的一个。
log4j.appender.R.MaxBackupIndex=10
#每次在文件尾写入新的日志信息
log4j.appender.R.Append=true
#日志输出信息格式类型
log4j.appender.R.layout=org.apache.log4j.PatternLayout
#日志输出信息格式为 换行、换行、日期、优先级、[类名]、日志信息、换行
log4j.appender.R.layout.ConversionPattern=%n%p-%d{yyyy-MM-dd HH\:mm\:ss,SSS}[%c]-%m%n

log4j.logger.mylogger=ERROR, test
log4j.additivity.mylogger=false
#设置日志输出类型,为文件类型
log4j.appender.test=org.apache.log4j.RollingFileAppender
# Threshold全局过滤器 在 log4j.rootlogger=[level]的基础上再次过滤
#log4j.appender.R.Threshold=ERROR
#设置日志文件名my.log
log4j.appender.test.file=logout.log
#编码
log4j.appender.test.encoding=UTF-8
#设置日志文件大小log4j.appender.R.MaxFileSize=3MB
#文件超10M备份新建,最多5个`,自动删掉最旧的一个。
log4j.appender.test.MaxBackupIndex=10
#每次在文件尾写入新的日志信息
log4j.appender.test.Append=true
#日志输出信息格式类型
log4j.appender.test.layout=org.apache.log4j.PatternLayout
#日志输出信息格式为 换行、换行、日期、优先级、[类名]、日志信息、换行
log4j.appender.test.layout.ConversionPattern=%n%p-%d{yyyy-MM-dd HH\:mm\:ss,SSS}[%c]-%m%n

 使用

Logger logger = Log.getLogger().logger;
logger.error('msg',e)

猜你喜欢

转载自yuegedetiang.iteye.com/blog/2307977