【问题标题】:Toggling display of server-side log messages by topics按主题切换服务器端日志消息的显示
【发布时间】:2014-01-16 20:16:15
【问题描述】:

问题

是否有在开发过程中过滤掉服务器端日志的解决方案(对于 node.js 或 Scala),这样您就可以从记录的所有内容中选择您希望在给定时刻查看的日志“主题”通过您的应用程序?

细化

我希望能够控制每次在非生产模式下运行代码时看到的日志消息。例如。根据我正在开发或测试的任务切换我看到的消息组,而不是按警告、信息等标准类别切换。graylog2 的 Web 界面可能会遇到这种情况吗?或以其他方式? (如果 graylog - graylog 界面是否允许在重新启动我的应用程序之前过滤掉所有日志消息,而无需输入时间戳?)

为什么配置要记录的内容不是答案

如果没有任何方法/工具可以促进这一点,我将通过我自己的应用程序的配置文件来管理它,但这会在运行时过滤消息,不利于查看已记录内容的子集,因此对于发展。 我当然不介意为此为我的每条日志消息分配一个类型值。这不是关于在哪里记录什么 - 而是关于如何通过动态过滤器查看记录的信息!

【问题讨论】:

    标签: node.js scala logging graylog2


    【解决方案1】:

    Graylog2 能够做到这一点:您可以使用查询语言或流进行过滤。 Streams 允许您在收到消息时将它们匹配到类别/主题中,并且可以在出现异常情况时向您发出警报。

    然后,您甚至可以在网络界面的任何图表中拖动一个框架,并仅在选定的时间范围内进行搜索。

    这里描述了查询语言:http://support.torch.sh/help/kb/graylog2-web-interface/the-search-bar-explained

    我建议你试一试。几天前刚刚发布了v0.20.0的RC版本,大大改进了安装过程。

    【讨论】:

    • 谢谢。我花了一些时间尝试 logstash,但这并不是那么出色,主要是可用性方面的怪癖(也不是从 node.js 很好地连接或为各种连接定义提供有用的文档)。 graylog 的查询语言确实看起来非常灵活,如果我理解正确,您可以通过来自日志数据的任何 elasticsearch 字段进行查询(?)。
    • 是的,完全正确!您可以通过 Graylog2 中的规则提取数据或使用 GELF 发送已结构化的数据:graylog2.org/gelf#libraries
    • 为了让它真正有用,gelf(以及因此的 graylog)是否也允许嵌入我自己的 json 对象,以便它作为 json 而不是字符串自动映射到 elasticsearch 后端?我记得 gelf 是一种相当有限的格式...
    • 您可以使用 JSON 支持的所有类型添加任意数量的自己的字段。
    【解决方案2】:

    不了解 node.js,但对于 Java/Scala,通常会为此使用 JMX。这是来自 logback 的一些 JMX 文档:http://logback.qos.ch/manual/jmxConfig.html

    【讨论】:

    • 任何java都可以被Scala重用/从Scala重用。 logback 是否有一个 UI,您可以在其中过滤已通过动态条件记录的消息,还是只允许过滤已记录的内容?谢谢
    猜你喜欢
    • 2015-08-21
    • 2012-04-27
    • 2018-02-13
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多