想要将我们的OSGi框架中的批量日志单独打印到文件中

Posted 注销了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想要将我们的OSGi框架中的批量日志单独打印到文件中相关的知识,希望对你有一定的参考价值。

我们的日志虽然没有直接依赖logback,但遗憾的是也没有使用slf4j,而是使用了Apache Common-Logging

slf4j 和 common-logging有什么区别呢

 

common-logging通过动态查找的机制,在程序运行时自动找出真正使用的日志库。由于它使用了ClassLoader寻找和载入底层的日志库, 导致了象OSGI这样的框架无法正常工作,因为OSGI的不同的插件使用自己的ClassLoader。 OSGI的这种机制保证了插件互相独立,然而却使Apache Common-Logging无法工作。

slf4j在编译时静态绑定真正的Log库,因此可以再OSGI中使用。另外,SLF4J 支持参数化的log字符串,避免了之前为了减少字符串拼接的性能损耗而不得不写的if(logger.isDebugEnable()),现在你可以直接写:logger.debug(“current user is: {}”, user)。拼装消息被推迟到了它能够确定是不是要显示这条消息的时候,但是获取参数的代价并没有幸免。
 
 我现在需要研究怎么把slf4j日志依赖包加入到我们的OSGi项目中
com.springsource.slf4j.org.apache.commons.logging;bundle-version="1.5.0"

以上是关于想要将我们的OSGi框架中的批量日志单独打印到文件中的主要内容,如果未能解决你的问题,请参考以下文章

Log4j日志打印处理

将启动脚本记录到gcp中的单独文件中

flask中logger日志的使用

[高分求助]如何批量打印html文件~高分求助

python批量自动整理文件

Laravel框架中如何使用事件记录SQL查询到日志