目前项目中需要对 Log4j 封装一层,比如有个日志工具类 LoggerUtil ,里面有 info 、 debug 、 warn 、 error 等静态方法,在需要打日志的代码处我们只需要调用 LoggerUtil.info()便可以。
但是这样存在一个问题,无法正确打印需要打日志的地方,即 Test.java 在 15 行处调用了 LoggerUtil.info(),日志打印得是 LoggerUtil 中调用的行数,而不会正确打印 Test 中调用的地方,现在我需要进行改造,比如获知当前方法、行号的方式,请问大家在项目中封装过日志类吗?
1
justjavac 2016-07-04 17:10:55 +08:00 via Android
这个属于 java 基础了吧
|
2
xinyewdz 2016-07-04 17:56:03 +08:00
log4j 是通过抛出异常获取行号和方法的。以前的公司做法是,把当前 class 传到方法里面,只打印出类名,不打印行号和方法名。
|
3
SoloCompany 2016-07-04 22:51:45 +08:00
直接构造 LogRecord 啊,剩下的你自己查 javadoc 吧
|
4
yinheli 2016-07-05 01:40:44 +08:00
|
5
miracleyao OP @yinheli 谢谢,就是根据这个改造了
|