问题标签 [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.
spring-boot - LogBack - LogStash - 在 logback 中添加属性并将它们发送到 Logstash
我在 SpringBoot 应用程序中使用 Logback 和 Logstash。
在 logback.xml 我有一个带有服务名称的属性,就像:
Logstash conf 文件如下所示:
如何将 logback 文件中的应用程序名称属性添加为字段?
java - 单元测试 LogstashEncoder 配置正确
我想进行单元测试以验证 LogstashEncoder 是否配置正确并生成 JSON 格式的日志 => logstash-logback-encoder 必须注册为依赖项并且必须配置 logback.xml。
尝试这里描述的@Captor http://bloodredsun.com/2014/06/03/checking-logback-based-logging-in-unit-tests/我只能测试消息的内容,但不能测试它的格式。
在我的具体情况下,我正在记录以下信息:LOG.info("my demo log")
生成以下日志输出:
{"@timestamp":"2017-01-15T21:43:41.295+01:00","@version":1,"message":"my demo log message","logger_name":"org.sample.project.Application","thread_name":"main","level":"INFO","level_value":20000,"HOSTNAME":"tee"}
但正如上面所写,loggingEvent.getFormattedMessage()
只返回消息字符串my demo log
。
那么从 LoggingEvent 获取 json 格式的消息有什么技巧呢?
谢谢和最好的问候!
encoding - Logback 到 Logstash 编码错误
我正在使用 Logback 将日志从我的 Grails 应用程序发送到 ELK 堆栈。
我的 logback appender
我的logstash输入配置是
当我启动我的应用程序时,日志被发送到 ELK 堆栈,但我收到以下警告
我在 Kibana 中看到的日志只包含这样的消息,但我不明白编码错误可能来自哪里,因为我将日志附加程序配置为使用 UTF-8,而 Logstash 似乎期待 UTF-8。
我究竟做错了什么?
logback - 使用 application.yml 进行 logback 日志记录无法查找属性
logback 无法评估 spring 应用程序名称
<property scope="context" name="app_name" value="${spring.application.name}" /> log output:"app_name":"spring.application.name_IS_UNDEFINED"
如果该属性是从应用程序上下文中打印出来的,则它工作正常。
logback-经典 1.11 logback-core 1.11 logstash-logback-encoder 4.11
更新:将 logback.xml 更改为 logback-spring.xml 并添加<springProperty scope="context" name="app_name" source="spring.application.name" />
而不是<property scope="context" name="app_name" value="${spring.application.name}" />
用 spring-boot 1.5.4 解决问题
谢谢
spring-boot - 使用 JSON 编码器(Spring)通过 RabbitMQ 将 Logback 日志发送到 LogStash
我正在使用 Spring Boot (1.5.4)。我希望通过 RabbitMQ 以 JSON 格式而不是纯文本将我的服务中的(logback)日志发送到 Logstash。这将使我不必在 Logstash 端设置过滤器,以便可以在应用程序端控制格式(使用 Logback 编码器)。
我知道 RabbitMQ 的 Spring logback AMQP Appenderorg.springframework.amqp.rabbit.logback.AmqpAppender
但是它使用布局(纯文本)而不是格式化的 JSON。我想使用 LogStash 编码器net.logstash.logback.encoder.LogstashEncoder
。我想将 Appender 与编码器一起使用(我想要全部:")。
elasticsearch - 完成突发日志记录后,日志出现乱序
当日志似乎具有相同的时间戳时,其中一些会出现乱序。阅读了一些主题,我找不到合适的解决方案。但我相信必须对此采取一些措施,因为早在 Logstash 1 就报告了这个问题。
基本上,我使用logstash 使用json 行编解码器[在此处使用logstash-logback-encoder ] 在某个端口上侦听传入的tcp。目前,过滤器为空,我将数据输出到 elasticsearch 和 stdout(编解码器 rubydebug)。
控制台登录我的 IDE:
启动 logstash 的终端相应读取:
虽然这里的区别不是很大,但是,当与实时日志一起使用时,更改顺序会使日志显得无意义。我该如何解决这个问题?
注意,我也在elasticsearch 论坛上问过这个问题。我浏览了文档以找到与此相关的任何内容,但无济于事。
java - Logstash:有没有办法根据字段名调用 grok 模板
我正在使用带有 logstash-logback-encoder 的 ELK 将日志推送到 Logstash。现在我想使用相同的堆栈,即带有 logstash-logback-encoder 的 ELK 进行分析。
流动:
记录器.info(); logstash-logback-encoder,将数据推送到Logstash,Logstash将数据推送到ES。
我的logstash.conf如下:
我的问题是,如果我想使用 Logstash 进行分析,那么我必须使用 grok 解析 json。随着我拥有的表和字段的数量,logstash.conf 将变得非常庞大。
有没有一种方法可以在 logstash.conf 中应用 grok 模板,我可以根据索引名称调用它。喜欢:
java - logstash-logback-encoder 在多行中显示堆栈跟踪
logstash-logback-encoder 在一个字符串中显示堆栈跟踪的输出,例如
这很难阅读。我如何格式化堆栈跟踪的显示以在多行上显示它,也许使用 json 数组?
elasticsearch - Elasticsearch 从过滤器剖析更改字段类型
我使用logstash-logback-encoder
将java日志文件发送到logstash,然后发送到elasticsearch。为了解析message
in java 日志,我使用以下过滤器来剖析消息
它剖析了消息,因此我可以获得execution_time_millis
. 但是数据类型是字符串。我使用 Kibana 索引模式创建了索引。如何将数据类型更改execution_time_millis
为long?
这是来自 logback 的示例 json 消息
谢谢
java - 使用标记的 logstash-logback-encoder 错误
使用 slf4j.Marker 时出现 java.lang.IncompatibleClassChangeError。看来我在类路径中有几个 slf4j 版本。但是在执行 maven dependency:tree 时,它说只有 slf4j 1.7.25。你们有什么想法可能是什么问题吗?依赖关系如下:
- 回退 1.2.3
- slf4j 1.7.25
- logstash-logback-encoder 5.0
该应用程序部署在 WildFlly 8.2.1 AS 上。