我正在寻找一种方法来集中分布式软件(用Java编写)的日志问题,这将非常简单,因为所讨论的系统只有一台服务器。但请记住,未来很可能会运行更多特定服务器的实例(并且需要更多的应用程序),因此必须有类似日志服务器的东西,它负责处理传入日志,并使支持团队能够访问这些日志。
目前的情况是,一些java应用程序使用log4j将其数据写入本地文件,因此,如果客户机过期出现问题,支持团队必须要求提供日志,这并不总是容易的,而且需要大量时间。在服务器故障的情况下,诊断问题并没有那么大,因为无论如何都有远程访问,但即使如此,通过日志服务器监控一切仍有很大意义。
当我浏览关于“集中式日志记录”的问题时,我发现了另一个问题(实际上是唯一一个有(在本例中)可用答案的问题。问题是,所有应用程序都在一个封闭的环境中运行(在一个网络中),并且安全指南不允许任何与内部软件有关的内容离开环境网络。
我还发现了一篇关于如何实现这种日志服务器的精彩文章。由于这篇文章是在2001年写的,我想可能有人已经解决了这个特殊的问题。但我的搜索结果一无所获。
我的问题:是否有一个日志框架,通过支持团队可以访问的中央服务器来处理网络上的日志?
规范:
没有必要,但很高兴拥有
我认为最糟糕的情况是他们没有这样的软件。在这种情况下,我们可能会自己实现它。但是如果有这样的客户机-服务器应用程序,我会非常感激不需要做这种特别有问题的工作。
提前感谢
更新:解决方案必须在多个支持java的平台上运行。(主要是Windows、Linux、一些HP Unix)
更新:经过大量研究,我们终于找到了一个解决方案。集群日志。net(至少从2015年年中开始离线)为分布式软件提供日志记录服务,并与log4j和logback(与slf4j兼容)兼容。它允许我们分析应用程序中的每个用户。因此,很容易复制报告的bug(甚至是未报告的bug)。它还通过电子邮件通知我们重要事件,并有一个报告系统,将相同来源的日志汇总成易于访问的格式。他们几天前在这里部署了它(这是完美的),它运行得很好。
更新(2016):这个问题仍然有很多流量,但我提到的网站已经不存在了。
看看logFaces,看起来符合您的规范。http://www.moonlit-software.com/
NXLOG或LogStash或Graylogs2
或者
LogStash ElasticSearch(可选Kibana)
例子:
1)http://log stash . net/docs/1 . 3 . 3/tutorials/getting-started-simple
2) http://logstash.net/docs/1.3.3/tutorials/getting-started-centralized
您可以将Log4j与SocketAppender一起使用,因此您必须将服务器部分编写为日志事件处理。看见http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SocketAppender.html
问题内容: 我在用 : 输出为: 我如何只打印不带日期和INFO的消息? 问题答案: 使用系统属性更改SimpleFormatter的格式: 或在logging.properties中: 所有这些属性都以format方法记录。
我希望你们能够帮助我解决我目前面临的难题。我目前正在从事一个现有的web应用程序项目,其中一个要求是我们必须集中记录日志。该应用程序是一个分层应用程序,由客户端层(即视图)、服务层、业务层和DAO层组成。 目前,应用程序中的日志记录由控制器方法处理,其中每个控制器方法需要记录一些信息,通过调用日志记录函数手动记录数据。这些控制器方法处理的请求来自许多不同的客户端来源,包括移动设备(如电话)、网络浏
我需要一些帮助在Azure中记录Java应用: 1) 使用Azure作为PaaS,我创建了一个配置为使用Java8 Tomcat8的API应用程序。我正试图使用log4j2将应用程序日志记录与Tomcat日志(在一个单独的文件中)分开。据我所知,我有权限在D:\home中的任何地方写入。因此,我将尝试写入“d:\home\Logfiles\Application\”。因此,我创建了一个带有log4
我使用的是Flyway java API。 我想在我的日志中看到操作。 如何设置flyway日志?
我在一个Spring Boot应用程序中有一个关于登录的配置问题。我希望我的看起来像默认的Spring Boot控制台附加器。如何从Spring Boot默认控制台附加器继承模式? 下面是我的配置
我想更改我的嵌入式数据库的日志记录。每次我打开一个连接,atm都会记录“......创建新的JDBC驱动程序连接到......”。在我的测试套件中,我为每个请求打开一个新的连接,现在有很多这样的消息。 我没有找到任何类型的日志级别。我只是可以设置PrintWriter。但是我想看看错误msgs。我在Spring之外运行这个作为常规单元测试。 有什么想法吗?