LogKit打印日志如何显示输出日志信息的语句处于它所在的类的第几行?

如:现在使用LogKit.info(message)输出日志,在控制台中显示的日志如下

[2018-06-06 16:48:11] [INFO]-<LogKit.java [55]>: 


所有的日志都打印所在行是LogKit.java [55],并不是真实所在类及所在行,这个改如何配置呢?

评论区

JFinal

2018-06-06 17:54

LogKit 这个类仅用于 jfinal 内部在没有初始化日志的情况下使用, 你自己的代码中要使用这样的代码:
static Log log = Log.getLog(Xxx.class);

log.info(...);

youz12025

2018-06-07 15:59

@JFinal 我下载了jfinal_demo_for_maven,用里面的的BlogController测试:
public class BlogController extends Controller {
private Logger logger = Logger.getLogger(BlogController.class);
BlogService service = BlogService.me;

public void index() {
System.out.println("Test Index");
logger.info("测试首页");
setAttr("blogPage", service.paginate(getParaToInt(0, 1), 10));
render("blog.html");
}
}

logger.info("测试首页"); 控制台能打印出来。
但是我在项目中相同的配置,日志都没有打印出来?以下是相关配置:

log4j
log4j
1.2.16
provided


log4j.rootLogger=info, 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:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

# Output to the File
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=./jfinal_demo_for_maven.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

还有哪里要配置吗?

JFinal

2018-06-07 16:01

@youz12025 注意下面的配置:
log4j.appender.file.File=./jfinal_demo_for_maven.log

这个最好改成绝对路径,例如:
D:/mylog/demo.log

否则你可能找不到这个文件在哪里了,如果是开发工具中启动的,可以刷新一下项目根目录找到这个文件

youz12025

2018-06-07 16:04

@JFinal 文件有找到,没有记录到打印的数据。控制台也没有打印

jollyking

2019-12-06 14:51

@youz12025 hello 请问这个问题找到原因么?
我现在也遇到这个问题. 发现log4j.properties是生效的, 日志文件也能找到, 但是在controller的log.error()信息死活打不出来.

jollyking

2019-12-06 15:23

正好看到了一个哥们的分享:【分享】jfinal使用slf4j作为LogFactory ( http://www.jfinal.com/share/1869) .
原来我是通过Slf4j+log4j而不是直接log4j的问题.

热门反馈

扫码入社