首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JMS和logback的分布式日志记录

使用JMS和logback的分布式日志记录
EN

Stack Overflow用户
提问于 2011-03-11 12:32:14
回答 1查看 3.4K关注 0票数 5

我正在进行一个项目,将来自多台机器的日志数据组合到一个数据库中。

我必须记录场景:

  1. 通常的异常记录和开发人员日志记录,例如开发人员将级别转换为调试。
  2. “审计”日志。特殊场景需要记录在具有不同结构的单独DB中。

我用的是logback和JMS。"Client“记录到JMS队列,"Server”读取表单队列并写入DB。

我正在寻找一种简单的方法来区分这两种类型的日志。我想要做的是创建另一个日志级别,例如“审核”,然后我可以在“服务器”端检查它,并创建我们的特殊对象结构并将其写入单独的DB。

但是,这在logback中是不可能的。我考虑过标记,但这意味着开发人员必须显式应用标记。我的另一个选择是有两个独立的记录器,由开发人员获取正确的记录器。这并不是我想要的那么优雅。

我希望开发人员只为调试做log.debug,为错误做log.error,为审计做log.audit。

有什么建议吗,有谁要解决类似的问题?

EN

回答 1

Stack Overflow用户

发布于 2011-03-11 12:44:41

首先,为什么不直接使用DBAppender并直接登录到数据库,跳过JMS层呢?如果您需要考虑性能,则Logback为日志异步记录提供了一些工具。

至于过滤,单独的记录器是最简单和最干净的方法(然后简单地按记录器/类别过滤)。这种方法强调了这样一个事实,即这些日志是特殊的日志,而不是普通的应用程序调试。我甚至会考虑将此审计日志封装在某些服务/方面中,以将其与业务逻辑分离开来。

如果您真的想重用现有的记录器,可以使用Logback 过滤器在运行时分派和过滤事件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5272911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档