我正在使用slf4j和logback为几个项目构建一个 Logger ,并且在 Logger 附带的功能之上我想向Logger添加更多方法:log.debug(String key,String [] params,Throwable throwable )(和信息,警告和错误相同) . 密钥将从资源文件中获取一个字符串,并使用String []中的参数填充它并记录它 .
我希望用户使用干净的slf4j,如果可能的话,不要被绑定到logback . 我正在考虑使用我的功能扩展logback并将slf4j的绑定写入扩展的新logback .
这是正确的方法吗?如果是这样,我如何扩展回溯?
通过查看其他绑定,我了解到他们没有实现标记 . 是否有一个绑定到某些东西的例子?所以我可以用它作为"logback extended"绑定的骨架?
2 回答
最后用新接口扩展了org.slf4j.Logger,然后实现了该接口 . 使用我的 Logger 的项目不需要更改他们的代码,以防从logback切换 . 除了添加的方法之外,实现当然只是路由到slf4j实现 .
我同意SLF4J缺乏报告异常的all-args-in-one方法,但我认为不需要其他类型(info,warn ......) .
您可以创建一个具有这些方法的实用程序类
LoggerWrapper
:用法示例: