问题标签 [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.
java - Logback 配置:LoggingEventPatternJsonProvider 的模式
我正在尝试以编程方式添加 LogstashUdpSocketAppender,但无法创建具有工作模式的布局
但这不起作用,它输出
{"field1":"value","message":"%PARSER_ERROR[message]"}
如果将相同的模式放在 XML 配置文件中,它可以正常工作。
任何想法?
java - 如何使用 Spring Boot 将 git commit id 输出到所有 logback 日志?
我正在使用 SpringBoot 和 Logback 以及 git commit id maven 插件。如何配置 logback 和 SpringBoot 以在我的日志输出中包含执行器返回的 git commit id?我希望每一行输出都包含生成输出行的引导应用程序的 git commit id。
java - 无法在哨兵中发送错误消息
我在我的 Spring Boot 项目中使用以下依赖项在哨兵服务器中发送错误消息。
我在 manifest.yml 文件中配置了 SENTRY_DSN 值。并在 logback.xml 下面记录级别
当我尝试在哨兵中发送一些消息时,出现以下错误:
您能否让我知道如何解决此异常并将日志发送到哨兵服务器。
注意:我在 Slack 频道中配置了 SENTRY 日志通知。
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 应用程序中获得任何日志):
logstash - Logstash-logback-encoder:使用 StructuredArguments 而不在消息中格式化?
我想知道在使用 logstash-logback-encoder 以 JSON 格式登录时,在日志调用中使用 StructuredArguments 的最佳实践是什么。
我想在单独的字段中记录一些结构化参数,但我不想将这些参数格式化为文字字符串消息。
如果我这样写日志行,一切都可以正常工作,但是我的 IntelliJ IDEA 和 Sonarqube 静态代码分析都考虑了这个有问题的问题:
IntelliJ 在这一行发出警告:
提供的参数 (1) 多于指定的占位符 (0)
我怎样才能避免这种情况?当然,我可以使警告静音并为它们添加例外,但我想知道这是否是最佳实践。
elasticsearch - 在 customFields LogstashEncoder 中添加动态值(日期)
首先,只是为了提供一些有关架构的见解:
- Kubernetes 中有几个微服务在运行,两个团队管理这些服务。
- 有一个单一的 elasticsearch 集群,来自 Kubernetes 的所有日志都被推送到该集群上。
- 两个团队都有不同的索引名称(例如,logstash-team1、logstash-team2)
我们的 logback 配置:
- 一切正常,但是 Kibana 上的日志在 30 天后不会被删除。我们认为如果我们在
esindex
字段中添加日期,它可能会解决问题(可能还有其他解决方案,我不知道)。 - 所以
esindex
应该看起来像这样logstash-team1-%d{yyyy-mm-dd}
:
有没有办法做到这一点?或者有没有办法在 30 天后删除日志,而不在索引名称中附加日期?
logstash-logback-encoder - %thread 和重复的线程名称
我遇到了使用相同名称的 3rd 方库和线程的问题。有没有办法显示线程的哈希或唯一 ID?
我最终创建了自己的转换器来处理它,我不确定我是否遗漏了什么。
这就是我所拥有的
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 ...我不知道这是如何工作的...
logstash-logback-encoder - 如何配置 LoggingEventCompositeJsonEncoder 的自定义 PatternLayout?
我已经创建了一个自定义 PatternLayout,我在 logback 的 Access 和 File appender 中使用它,我也想将它用于 LoggingEventCompositeJsonEncoder。
是否可以使用我的布局配置编码器,我该如何实现?
文件 appender 配置示例:
我的logstash编码器:
我在哪里可以在这里定义相同的 PatternLayout ?我在这里读过
模板中的每个值都被视为 logback 标准 PatternLayout 的模式,因此它可以是文字字符串(对于某些常量)和各种转换说明符(如 %d 表示日期)的组合。
那么我如何配置我自己的呢?谢谢你的帮助。
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
错误日志: