log4j学习(二)

 接上篇

 上篇在log4j.properties中配置的日志输出在控制台,这篇通过输出到一个txt文件来记录日志

1、导入包

  log4j-1.2.14.jar

junit.jar

org.hamcrest.core_1.1.0.v20090501071000.jar

2、日志类


public class UserDao {
	// 创建Logger对象
	public static final Logger logger = Logger.getLogger("test");
	public void add() {
		logger.debug("添加了用户信息");
		logger.info("添加了用户信息");
		logger.warn("添加了用户信息");
		logger.error("添加了用户信息");
		logger.fatal("添加了用户信息");
	}
}

3、编写日志配置文件


<p style="margin: 0in; font-family: 楷体;"></p><p style="margin: 0in; font-family: 楷体;"><pre name="code" class="html">#kong zhi tai shu chu
log4j.appender.stout=org.apache.log4j.ConsoleAppender
log4j.appender.stout.layout=org.apache.log4j.PatternLayout
log4j.appender.stout.layout.ConversionPattern=[%p](%l)-->%m(%d)%n


#zui chang yong de yi zhong kai fa fang shi
log4j.appender.fout = org.apache.log4j.DailyRollingFileAppender
log4j.appender.fout.datePattern='.'yyyy-MM-dd
#log4j.appender.fout=org.apache.log4j.FileAppender
log4j.appender.fout.file = ${LOG_DIR}user.log
log4j.appender.fout.layout=org.apache.log4j.PatternLayout
log4j.appender.fout.layout.ConversionPattern=[%p](%l)-->%m%n

#log4j.rootLogger=DEBUG,stout
log4j.logger.org.zttc.itat.dao =DEBUG,fout,stout

 

file:文件路径名称

layout:日志输出布局

ConversionPattern:日志输出格式样式

fout:输出日志文件

4、运行&效果

	@Test
	public void testLog() {
		String url = UserService.class.getClassLoader().getResource("")
				.getPath();
		url = url.replace("bin/", "log/");
		System.out.println(url);
		System.setProperty("LOG_DIR", url);
		// UserDao ud = new UserDao();
		// ud.add();
		UserService us = new UserService();
		us.add();
	}

  

  上面的方法,是获取到程序中UserService所在路径,然后将路径中的bin替换成log文件夹,之后再通过log4j.appender.fout.file = ${LOG_DIR}user.log在源程序项目中,生成日志文件夹和日志。


  效果:在该项目下生成了一个日期格式的日志文件





5、小结

  现在可以试着找一个Hibernate项目提供的log4j.property文件解读一下!


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=warn, stdout
log4j.logger.org.hibernate.SQL=debug


ConversionPattern:输出内容

layout:显示的布局为org.apache.log4j.PatternLayout

日志显示warn以及以上级别的日志信息

而到具体的SQL显示debug及以上级别的日志信息



附注:

ConversionPattern参数的格式含义 
格式名  含义 
%c    输出日志信息所属的类的全名 
%d    输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28 
%f    输出日志信息所属的类的类名 
%l    输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行 
%m    输出代码中指定的信息,如log(message)中的message 
%n    输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” 
%p    输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推 
%r    输出自应用启动到输出该日志信息所耗费的毫秒数 
%t    输出产生该日志事件的线程名


(下篇试着将日志Aop切进系统去)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值