问题标签 [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 投票
1 回答
474 浏览

java - Logback 配置:LoggingEventPatternJsonProvider 的模式

我正在尝试以编程方式添加 LogstashUdpSocketAppender,但无法创建具有工作模式的布局

但这不起作用,它输出

{"field1":"value","message":"%PARSER_ERROR[message]"}

如果将相同的模式放在 XML 配置文件中,它可以正常工作。

任何想法?

0 投票
1 回答
949 浏览

java - 如何使用 Spring Boot 将 git commit id 输出到所有 logback 日志?

我正在使用 SpringBoot 和 Logback 以及 git commit id maven 插件。如何配置 logback 和 SpringBoot 以在我的日志输出中包含执行器返回的 git commit id?我希望每一行输出都包含生成输出行的引导应用程序的 git commit id。

0 投票
0 回答
1112 浏览

java - 无法在哨兵中发送错误消息

我在我的 Spring Boot 项目中使用以下依赖项在哨兵服务器中发送错误消息。

我在 manifest.yml 文件中配置了 SENTRY_DSN 值。并在 logback.xml 下面记录级别

当我尝试在哨兵中发送一些消息时,出现以下错误:

您能否让我知道如何解决此异常并将日志发送到哨兵服务器。

注意:我在 Slack 频道中配置了 SENTRY 日志通知。

0 投票
2 回答
1037 浏览

java - Logstash-Logback 编码器:“IllegalAccessError:无法访问类 […]”

我尝试使用 Logstash tcp 套接字附加程序从 Java 应用程序将日志发送到 Logstash。Java 应用程序。已经可以与 logback 1.1.9 (slf4j) 和其他 appender 一起使用。

现在我将以下行添加到 logback-test.xml:

但是,当我添加附加程序并启动我的 java 应用程序时,我从 JVM 启动器中收到一个错误“发生 Java 异常”,并且我收到以下控制台文本:

我包含了 logstash 6.3 jar 文件,由于这个错误,我还尝试使用旧版本 4.9。有谁知道这是否与 logback 1.1.9 兼容?我没有使用 Spring-Boot。

---------编辑 17.02.2020------------

我输入的 logstash.conf 文件(因为我没有从我的 java 应用程序中获得任何日志):

0 投票
1 回答
3096 浏览

logstash - Logstash-logback-encoder:使用 StructuredArguments 而不在消息中格式化?

我想知道在使用 logstash-logback-encoder 以 JSON 格式登录时,在日志调用中使用 StructuredArguments 的最佳实践是什么。

我想在单独的字段中记录一些结构化参数,但我不想将这些参数格式化为文字字符串消息。

如果我这样写日志行,一切都可以正常工作,但是我的 IntelliJ IDEA 和 Sonarqube 静态代码分析都考虑了这个有问题的问题:

IntelliJ 在这一行发出警告:

提供的参数 (1) 多于指定的占位符 (0)

我怎样才能避免这种情况?当然,我可以使警告静音并为它们添加例外,但我想知道这是否是最佳实践。

0 投票
1 回答
1931 浏览

elasticsearch - 在 customFields LogstashEncoder 中添加动态值(日期)

首先,只是为了提供一些有关架构的见解:

  • Kubernetes 中有几个微服务在运行,两个团队管理这些服务。
  • 有一个单一的 elasticsearch 集群,来自 Kubernetes 的所有日志都被推送到该集群上。
  • 两个团队都有不同的索引名称(例如,logstash-team1、logstash-team2)

我们的 logback 配置:

  • 一切正常,但是 Kibana 上的日志在 30 天后不会被删除。我们认为如果我们在esindex字段中添加日期,它可能会解决问题(可能还有其他解决方案,我不知道)。
  • 所以esindex应该看起来像这样logstash-team1-%d{yyyy-mm-dd}

有没有办法做到这一点?或者有没有办法在 30 天后删除日志,而不在索引名称中附加日期?

0 投票
1 回答
164 浏览

logstash-logback-encoder - %thread 和重复的线程名称

我遇到了使用相同名称的 3rd 方库和线程的问题。有没有办法显示线程的哈希或唯一 ID?

我最终创建了自己的转换器来处理它,我不确定我是否遗漏了什么。

这就是我所拥有的

0 投票
1 回答
1054 浏览

tomcat - Logback Logstash Tomcat 访问 JSON 日志

有没有人使用 Logstas Logback 编码器将 Tomcat 的访问日志作为 JSON 获得?

即使它应该是可能的(根据文档)我无法让它工作,我一直在与 Tomcat 的类路径地狱作斗争。即使我 100% 确定类必须存在于类路径中,Tomcat 仍在抛出 NoClassDefFoundErrors。它只是没有任何意义了......

我将所有必需的 JAR 放入 Tomcatslib/目录,将它们添加到类路径并设置所需的每个配置文件(遵循多个官方和非官方教程)。

Tomcat 的日志 (catalina.out -> catalina.json) 与 Logstash Logback 编码器一起工作正常,但 Tomcat 的访问日志是一个完全不同的问题......

无论我尝试什么,每次都会导致其中之一:

通过 bin/setenv.sh 将 logback-access.jar(除了所有其他 logback/slf4j/logstash JAR)添加到类路径会破坏整个类路径(带有 的崩溃循环NoClassDefFoundError: org/apache/catalina/Lifecycle)。在没有 logback-access.jar 的情况下添加所有其他 logback/slf4j/logstash JAR 工作正常(但后来导致ClassNotFoundException: ch.qos.logback.access.spi.IAccessEvent但 Tomcat 在没有写入访问日志的情况下运行良好)......

我什至无法提供我当前的状态,因为我不知道最接近解决方案的最“正确”状态是什么......

如果有人将 Tomcat 的访问日志作为 JSON,请告诉我如何(即使您使用不同的编码器)。

已经花费了我几天的谷歌搜索、反复试验和我所有的神经......

更新

这是 Tomcat 的 Classpath 或 ClassLoading 非常完善且毫无意义的证明(使用 JVM 启动-verbose:class),catalina.out输出:

...

该类必须加载到另一个上下文/Classpath/ClassLoader ...我不知道这是如何工作的...

0 投票
1 回答
5235 浏览

logstash-logback-encoder - 如何配置 LoggingEventCompositeJsonEncoder 的自定义 PatternLayout?

我已经创建了一个自定义 PatternLayout,我在 logback 的 Access 和 File appender 中使用它,我也想将它用于 LoggingEventCompositeJsonEncoder。

是否可以使用我的布局配置编码器,我该如何实现?

文件 appender 配置示例:

我的logstash编码器:

我在哪里可以在这里定义相同的 PatternLayout ?我在这里读过

模板中的每个值都被视为 logback 标准 PatternLayout 的模式,因此它可以是文字字符串(对于某些常量)和各种转换说明符(如 %d 表示日期)的组合。

那么我如何配置我自己的呢?谢谢你的帮助。

0 投票
1 回答
797 浏览

java - Logback 的 XML 配置中的问题

我正在尝试LogstashTcpSocketAppender通过logback-spring.xml. 当我将这些行添加 <stackTrace>LogstashEncoder我得到一个错误 Error is: "weblogic.application.ModuleException: java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback.core.joran.spi.Interpreter@51:25 - no applicable action for [stackTrace], current ElementPath is [[configuration][appender][encoder][stackTrace]]。如果我删除<stackTrace><fieldName>stackTrace</fieldName>并只保留<throwableConverter>它可以正常工作。任何帮助都深表感谢。

logback-spring.xml

错误日志: