1

我知道,目前最合适的组合是 SLF4J + Logback,但是考虑到我的要求是非常基本的日志记录,我的简单问题是

1> 性能和内存占用方面,Java Logging 和 Log4J 之间哪个更好,为什么?

2> 性能和内存占用方面,Java Logging 和(SLF4J + Logback)之间哪个更好,为什么?

4

3 回答 3

3

“非常基本的日志记录”通常不是。

日志条目会去哪里?如果在文件中,如何保存日志文件而不是在重新启动时覆盖?过时的保存日志文件会发生什么?

我建议您在自己的代码中使用 slf4j 作为 API。而且,除非你有其他模块或政策强制执行特定的解决方案,否则我建议使用 logback,因为它是目前维护最积极的,如果需要,你可以稍后用 log4j 或 jul 替换它。

此外,slf4j 为您提供 {},这是迄今为止我所见过的登录客户端的最大改进。

于 2012-05-02T08:18:51.330 回答
2

考虑到我的要求是非常基本的日志记录

那么你应该只担心简单。Java Logging 可能是最简单的解决方案,它的性能可能还可以。

大多数记录器的内存占用不是问题。有时性能是,但除非您有低延迟(亚毫秒)或高吞吐量(每秒记录数千个事件)系统,否则我不会担心。

于 2012-05-02T08:05:49.257 回答
2

我可以给您以下建议:除非您只是为了好玩而做某事,否则您的代码很可能会扩展,并且您必须将所有日志语句重写为生产质量的 API。如果是这种情况,我建议您使用 SLF4J,它仍然让您可以选择使用 JUL、Log4j 或 logback。

于 2012-05-02T08:15:10.233 回答