问题标签 [logback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - log4j 与 logback
我们在自制包装器后面使用 log4j。我们计划现在使用它的更多功能。
我们应该更新到 logback 吗?
(我的意思是框架不是像 SLF4J 这样的外观)
java - 是否有技术原因更喜欢使用 logback 而不是 log4j?
新项目是否应该使用 logback 而不是 log4j 作为日志框架?
或者换句话说:'logback 是否比 log4j 更好(留下 logback 的 SLF4J-'功能')?
java - Java 中的日志记录是怎么回事?
为什么要使用以下软件包之一而不是另一个?
- Java 日志记录
- 公共记录
- 日志4j
- SLF4j
- 回溯
java - 如何将 logback-access 与 Tomcat 5.5 结合使用?
我在 Tomcat 5.5 服务器上运行了几个 Web 应用程序,并且我正在努力改进/更新整个系统中使用的整体日志记录系统。我已经在 logback-classic 上取得了一些成功。但是,当我尝试使用 logback-access(即访问 lbAccessStatus servlet)时,我得到了这个异常:
我根据文档进行了所有设置:
在图书馆四处走动似乎没有帮助。logback-classic 似乎工作正常,只是 logback-access 会导致问题。
java - 我可以在启用所有日志记录和禁用所有日志记录的情况下自动执行 JUnit 测试用例吗?
我找到了解决方案,请参阅下面的我自己的答案。有人有更优雅的吗?
我想这样做以增加代码覆盖率并发现细微的错误。
假设要测试以下类:
和以下测试类:
像 Cobertura 这样的代码覆盖工具将正确报告只有一些条件分支已被检查。
info 和 debug 为记录器激活或停用。
除了在您的覆盖范围内看起来很糟糕之外,这还带来了真正的风险。
如果 if(logger.isDebugEnabled()) 里面的代码有一些副作用怎么办?如果您的代码仅在启用 DEBUG 时才有效,并且在日志级别设置为 INFO 时惨遭失败怎么办?(这实际上发生在我们的一个项目中:p)
所以我的结论是,包含记录器语句的代码应始终在启用所有日志记录的情况下测试一次,并在禁用所有日志记录的情况下测试一次......
有没有办法用 JUnit 做类似的事情?我知道如何全局启用或禁用我在 Logback 中的所有日志记录,所以问题是:如何执行两次测试,一次启用日志记录,一次禁用日志记录。
ps 我知道这个问题,但我不认为这是重复的。我不太关心绝对覆盖率值,而是关心可能包含在 if(logger.isDebugEnabled()) 中的微妙、难以发现的错误。
logging - logback 是否支持 log4j 附加程序?
为 log4j(扩展 AppenderSkeleton)创建的自定义附加程序可以与新的logback框架一起使用吗?我知道logback带有自己的一组类似于 log4j 的附加程序,但这是否可以重用现有的附加程序?如何?
java - Logback 使用和打印列表
我开始使用 logback,我想知道是否有更好的方法来做某事。我有这个代码:
到目前为止,我有一些疑问:
- 每个类都会有一个
this.logger = LoggerFactory.getLogger(this.getClass().getName());
创建记录器。 - 每个方法都会
this.logger.debug("method()");
知道何时调用方法。
那看起来不太好。有没有办法解决它?
我还想在这一行的 .log 中打印一个列表:this.logger.debug("names: {}", xxxxx);
xxxxxx 应该替换为打印列表的内容。匿名课?
谢谢阅读!
log4j - Logback - C3P0 和 HSQLDB
我正在尝试让 LogBack 将 HSQLDB 与 C3P0 一起使用。鉴于我当前的环境,我目前坚持使用此配置。我对 Log4J 代码进行了大量投资,并且还需要使用 SLF4J Log4J 适配器。当我尝试一个简单的日志记录程序时,它卡在了记录器配置阶段。这是我的logback.xml
:
我的类路径是:
这是我的代码片段:
“开始”出现在控制台输出中,但没有别的。
任何帮助,将不胜感激!
documentation - 回退教程
multithreading - Log4J - 类似 SiftingAppender 的功能
我在一个使用Log4J的项目中工作。要求之一是为每个线程创建一个单独的日志文件;这本身就是一个奇怪的问题,通过动态创建一个新的 FileAppender 并将其附加到 Logger 实例来进行排序。
一切都很顺利,直到我们意识到我们使用的另一个库 - Spring Framework v3.0.0(它使用Commons Logging) - 无法使用上述技术 - Spring 日志数据仅由从 log4.configuration 初始化的 Appenders “看到”文件,但不是由运行时创建的 Appenders。所以,回到第一方。
经过一番调查,我发现新的和改进的LogBack有一个附加程序 - SiftingAppender - 它完全可以满足我们的需要,即在独立文件上进行线程级日志记录。
目前,迁移到 LogBack 不是一种选择,所以,被 Log4J 卡住了,我怎样才能实现类似 SiftingAppender 的功能并让 Spring 满意呢?
注意:Spring 仅用于JdbcTemplate功能,没有 IOC;为了将 Spring 的 Commons Logging “挂钩”到 Log4J,我在 log4j.properties 文件中添加了这一行:
log4j.logger.org.springframework=调试
按照这里的指示。