使用jfinal的LogKit输出日志的所在类和方法问题

wwwcom 发布于 2016/11/27 23:17
阅读 2K+
收藏 0

@JFinal 你好,想跟你请教个问题:

我使用LogKit.debug("供应商服务地址"+baseUrl)输出日志,并且log4j的配置如下:

log4j.rootLogger=DEBUG, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH🇲🇲ss}%n[%p]-[%C.%M()]: %m%n

# Output to the File
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=./sapi_demo.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH🇲🇲ss}%n[%p]-[%C.%M()]: %m%n

控制台上输出的日志,消息所在类的位置都成了:[com.jfinal.kit.LogKit.debug()]

2016-11-27 23:06:47
[DEBUG]-[com.jfinal.kit.LogKit.debug()]: 供应商服务地址:

有没有办法打印出消息的却切输出位置呢?

加载中
0
tinshen
tinshen

你的方法用错了。

private  static Log log=Log.getLog(被监视的类.class); 

private static Log log = Log.getLog(LogKit.class);

LogKit实际被监视的类制剂本身。

0
wwwcom
wwwcom
我也是进去看了下 LogKit,发现应该用
Log.getLog()

但是有个疑问,那LogKit使用场景只是为了输出信息?如果LogKit支持消息定位那就更好了,等有时间研究研究


0
Tony918
Tony918

public static void debug(String message) {
		StackTraceElement[] stacks  = new Throwable().getStackTrace();
		Log.getLog(stacks[1].getClassName()).info(message);
	}

//每一个方法调用需要重新获取一次当前运行类,这样就能定位到。但是这样太过于频繁调用···

返回顶部
顶部