标签:logging current 机制 打印 gen 获取 version bsp 无法
我们的日志虽然没有直接依赖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框架中的批量日志单独打印到文件中
标签:logging current 机制 打印 gen 获取 version bsp 无法
原文地址:http://www.cnblogs.com/heben/p/7895195.html