【发布时间】:2012-10-31 13:30:45
【问题描述】:
我正在开发一个多线程应用程序。我已经在使用 Log4j 将语句记录到文件中。
我最近一直在研究登录到 Mysql 数据库的可能性。
日志记录组件必须在重负载下可靠并且必须是线程安全的。
我听说过 SFL4J。我对 SLF4J 的理解是,它只是一个门面或抽象层。
- 我想知道 SLF4J 是否是一个很好的数据库日志记录解决方案,可用于
多线程应用程序?
- 在负载很重的情况下,添加一个层(如缓冲区或队列)并让线程记录到它而不是直接调用记录线程是一个好主意(记录线程将发送将队列中找到的语句一一存入数据库)?
任何提示、最佳实践或代码示例将不胜感激,
问候,
【问题讨论】:
-
请注意,slf4j + logback 是目前的事实标准
-
另外,关于多线程,请务必阅读 slf4j/log4j/logback 的 MDC 特性。很棒的线程相关功能。 slf4j.org/api/org/slf4j/MDC.html