希望JFinal的Log抽象类能支持Logback的参数化调用方法

...
public abstract void debug(String message);
public abstract void debug(String message, Throwable t);
...

现在的Log抽象类每个日志级别只定义了这两个方法,但习惯了Logback的参数化调用后,很难再接受字符串拼接形式

因此,建议每个日志级别都增加以下方法:

...
public abstract void debug(String message, Object... args);
...

对于log4j等不支持参数化调用的日志实现类,也可以进行兼容实现:

//com.jfinal.log.Log4jLog
public void debug(String message, Object... arg) {
    message = String.format(message.replace("{}", "%s"), args);
    log.log(callerFQCN, Level.DEBUG, message, null);
}
...

自定义的Logback日志实现类,就更简单了。

同时还能继续通过Log.getLog(xxx.class)实现统一的日志管理。

一个小建议,希望JFinal越来越好。

@JFinal

评论区

JFinal

2018-02-05 11:13

已备忘到开发列表中,感谢你的反馈

你的建议相对于其他建议,还给了解决方案,非常难得,感谢感谢

netwild

2018-02-05 13:51

@JFinal 应该的,站在JFinal肩膀上添砖加瓦 :)

JFinal

2019-12-10 21:08

jfinal 4.8 已改进了日志模块:
1: 添加了 trace 日志级别
2: 添加了可变参数系列方法,例如: log.error("参数错误 {} ", para);
3: 添加了 slf4j 实现,配置方法:
me.setToSlf4jLogFactory();

由于 slf4j 是一个日志门面系统,所以使用 slf4j 可以用上很多其它的具体日志实现

建议升级到 jfinal 4.8,很多打磨与改进,谁用谁爽 ^_^

热门反馈

扫码入社