java - 许多 Java 应用程序的集中日志记录 : Syslog vs JMS vs Http vs Local file

标签 java logging rest jms syslog

我希望我所有的应用程序日志都集中起来(最好是近乎实时的)。我们将使用 Log4 Appender。我应该使用哪一个:

  1. 在 JMS 队列中发送日志事件
  2. 系统日志/系统日志-ng
  3. 写入本地文件并使用 rsync(每 3 秒)复制日志
  4. 对集中式 REST Http 服务执行 POST

你用的是哪个?

最佳答案

取决于您的要求。记录到队列(如在 JMS 中)为您提供了最大的选项灵 active ,因为只要日志消息已写入队列,您的日志操作就可以返回。然后,您可以自由地让另一个进程从队列中取出这些日志消息,并将它们写入您首选的日志存储(数据库、文件系统……)。

(轻微的)缺点是您的日志消息将稍微滞后于正在记录的系统,但几乎总是如此,即使使用基于文件的日志记录也是如此。

关于java - 许多 Java 应用程序的集中日志记录 : Syslog vs JMS vs Http vs Local file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2392650/

相关文章:

rest - HTTP 缓存的授权检查

java - 对于其余请求,验证在 Spring boot 中不起作用

Java EE 快速 channel (真正快速学习企业 Java)

java - Android Phonegap 中的纬度经度跟踪?

c++ - 需要 API 将日志消息发送到服务器

c# - 使用 HttpClient 在 localhost 上调用 rest api 导致 401 Unauthorized,IIS 8.5

java - gethibernatetemplate().save(object) 不持久化数据

elasticsearch - 我可以对多个k8集群使用单个elasticsearch/kibana吗?

来自 IDLE 的 Python 标准输出重定向

java - Spring boot Rest controller - 将表单编码的主体转换为 POJO