我正在研究多线程应用程序.我已经在使用Log4j将语句记录到文件中.我最近一直在研究登录Mysql数据库的可能性.记录组件必须在重负载下可靠并且必须是线程安全的.我听说过SFL4J.我对SLF4J的理解是它只是一个外观或抽象层...

我正在研究多线程应用程序.我已经在使用Log4j将语句记录到文件中.
我最近一直在研究登录Mysql数据库的可能性.
记录组件必须在重负载下可靠并且必须是线程安全的.
我听说过SFL4J.我对SLF4J的理解是它只是一个外观或抽象层.
>我想知道SLF4J是否是一个很好的数据库记录解决方案
多线程应用程序?
>在负载很重的情况下,添加一个层(如缓冲区或队列)并让线程记录到它而不是直接调用日志记录线程是一个好主意(日志记录线程会发送语句在队列中逐个找到数据库)?
任何提示,最佳实践或代码示例将非常感激,
问候,
解决方法:
你是对的,SFL4J只是一个外观,它允许库和框架的编写者通过外观进行日志记录,并让应用程序指定自己的日志框架.在应用程序级别,没有令人信服的理由使用SLF4J,您也可以直接使用log4j.唯一的好处是您可以在未来的日期交换到更少的更改.这并不是那么引人注目,除非你有一个案例,你不确定你想要使用哪个日志实现,在这种情况下你可以使用抽象层,以便你可以在比较测试中交换实现.
如果您确实使用SLF4j,我认为它不会影响并发性.您可能想要为实际记录器考虑不同的appender(或自己动手),但这不会影响您调用SLF4J的方式.并发性受影响的唯一地方是appender.
本文标题为:java – SLF4J是否可以在多线程应用程序中用于记录到数据库?


基础教程推荐
- 解析SpringBoot中使用LoadTimeWeaving技术实现AOP功能 2023-05-24
- 浅析Java中接口和抽象类的七大区别 2023-08-11
- SpringBoot雪花算法主键ID传到前端后精度丢失问题的解决 2023-04-06
- 微信支付 开发账号体系各参数详解 2023-08-02
- SpringBoot实现文件上传下载实时进度条功能(附源码) 2023-06-23
- Java实现简单的邮件发送功能 2023-03-21
- SpringBoot自动配置原理详解 2023-08-10
- Mybatis的动态Sql组合模式详情 2023-04-17
- springboot打印接口调用日志的实例 2023-06-05
- Java实现扫雷游戏详细代码讲解 2022-11-11