问题标签 [logstash-logback-encoder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1379 浏览

java - logback-spring.xml 中的 LogstashTcpSocketAppender 不会将日志发送到 ELK 但适用于基于 Java 的方法

受这种Java 类方法的启发,我正在尝试一种基于 XML 的方法,用于直接通过logback-spring.xml. 这失败了,日志没有到达 ELK。可能是什么原因?任何帮助将不胜感激。

@Configuration 方法

logback-spring.xml 方法(不向 ELK 发送日志)

删除后,我以调试模式运行应用程序,AsyncAppender日志如下。没有注意到任何不愉快的事情。

0 投票
0 回答
1534 浏览

java - 在 docker 容器中使用 logstash 和 logback 进行日志记录

我将在 logback 配置中使用 LogstashTcpSocketAppender 将日志消息发送到 logstash。java应用程序工作,但如果我创建一个docker镜像并启动容器,那么消息不会到达logstash。这种行为的原因是什么?我写了一个示例应用程序。你可以在这里找到它。

logback.xml

我用docker 文件构建了一个 docker 映像:

码头工人日志是:

Logstash 配置

连接已建立,但 logstash 没有收到任何消息。这种行为的原因是什么?

0 投票
2 回答
953 浏览

java - 部署 Tomcat 时,logstash-logback-encoder 不起作用

我在使用 logstash-logback-encoder 时遇到问题。我正在使用编码器:

我的 pom.xml 是:

当我通过 intellij 运行时它工作正常,但是当我部署到 Tomcat 时出现此错误:

有没有人经历过这个?

0 投票
1 回答
111 浏览

java - 如何将 logback StatusManager 数据写入日志文件?

根据logback 网站,我们可以StatusManagerStatusListener. 主要有 2 个状态监听器用于编写状态管理器消息。

  1. OnConsoleStatusListener - 在控制台上打印消息,即在 System.out
  2. OnErrorConsoleStatusListener - 在控制台上打印消息,即在 System.error 上

但我需要将这些StatusManager消息写入错误日志。有没有办法做到这一点?

0 投票
1 回答
1946 浏览

java - 使用 logback 使用自定义编码器限制消息大小

我正在尝试限制日志消息的大小,我成功地使用错误回溯(使用ShortenedThrowableConverter)来做到这一点,但我没有设法找到消息本身的解决方案。

我知道一种方法是使用<pattern/>,但因为我自己实现了编码器。

我尝试使用布局,但遇到以下错误:

这是我的一些代码:

logback.xml

编码器:

0 投票
1 回答
435 浏览

logstash-logback-encoder - 如何在 AccessEventCompositeJsonEncoder 中过滤请求和响应的标头

文档指定在 responseHeaders 中使用过滤器。但是要使用什么字段来排除或包含标题。

以下配置记录完整的响应标头。如何仅记录指定的标头?

请参考文档中的 responseHeaders

更新:

以下配置也不起作用

回答:

检查你的版本。第一个代码块适用于版本 6.6

0 投票
1 回答
629 浏览

spring-boot - 从 Spring Boot 发送带有 logback 的无代理日志时,如何为 datadog 定义源标签?

怎么配置logback加标签,让datadog能识别出源?

我有以下内容logback.xml

自定义字段ddtags应该为 datadog 设置标签的位置。

日志显示在 datadog 中,并且一切都按预期工作,尽管有source-tag。从我的服务发送的日志消息在 datadog:source:java和中显示有两个标签source:undefined

出现在 datadog 中的标签

如何摆脱source:undefined标签以便 datadog 正确识别来源?

0 投票
0 回答
2586 浏览

java - 使用 LoggingEventCompositeJsonEncoder 的 Logback 在添加可抛出对象时不记录事件

我正在使用 Spring Boot/Spring 云流项目

我使用 Logback 进行日志记录,使用 ConsoleAppender 和 LoggingEventCompositeJsonEncoder 作为编码器

当我尝试记录错误时,如果仅传递带有结构化参数的消息或消息,则它可以工作

但是当我添加任何类型的异常/抛出时,根本没有记录

这是将被记录的示例:

这是不会记录的示例:

这是我的 logback xml 配置:

我在这里想念什么?为什么记录器会忽略或因异常错误而失败,根据文档,如果异常是最后一个参数,则应使用 ExtendedThrowableProxyConverter 对其进行解析

0 投票
0 回答
162 浏览

logstash - Logback-classic 通过不同的依赖与 SLF4J 发生冲突

我有一个内部库,它已升级为使用logstash,它具有强制依赖关系logback,因此logback-classic它在其包内部有自己的 slf4j 附加程序,这意味着我不能在这里排除任何库)。

当我尝试将此依赖项用作任何其他遗留模块(它们都在使用slf4j-log4j12)的 jar 时,我确实收到了日志依赖地狱消息:

但问题本身是我不能只排除 logback-classic,因为它是 logstash 的强制要求,而且我不能迁移我的应用程序以使用 logback,因为它们配置了 log4j.xml

有没有一种方法可以强制 slf4j 使用应用程序附加程序而不是来自 logback 库的附加程序,或者,是否有任何其他想法可以让一个给定的使用附加程序,其余的使用其他?

0 投票
1 回答
606 浏览

spring - Spring boot删除代码中添加的logback appender(自动配置)

我想要添加 LogstashTcpSocketAppender 的 spring 自动配置。

我做了什么:

  1. LogstashTcpSocketAppender 从 LogstashAutoConfiguration.java 添加到 LoggerContext
  1. 一段时间后,Spring Boot 触发一个事件将使应用程序重新配置。(例如,我使用 Consul,所以我只需更改键/值存储中的属性,然后刷新我的上下文)
  2. 它调用 AbstractLoggingSystem.java 中的 initializeWithConventions
  3. 然后它会调用 LogbackLoggingSystem.java 中的 loadConfiguration
  4. 然后它将停止AndReset(loggerContext)。在这里它会停止所有的appender,它会resetAllListeners();,这将清除所有的logback监听器。(所以我不能再次使用 logback 侦听器来添加附加程序)

是否有正确的方法通过 spring 自动配置添加 Appender?spring 重新配置应用程序时,如何防止从 LoggerContext 中删除 LogstashTcpSocketAppender?