为什么在Clojure中使用taoensso.timbre.appenders.3rd-party.gelf附加程序的Graylog消息无法被人类读取?

时间:2018-11-26 12:44:45

标签: logging clojure timbre

我正在 Clojure 1.9.0 Java 1.8 中使用 [com.taoensso / timbre“ 4.10.0”]

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

我用以下功能配置了音色:

(defn init [config]
  (timbre/merge-config! {:level        :debug
                         :appenders    {:println (appenders/println-appender)
                                        :spit    (appenders/spit-appender {:fname "log/myapp.log" :append? true})
                                        :gelf    (gelf/gelf-appender (:gelf-host config) (:gelf-port config) (:gelf-protocol config))}})))

我正在通过:udp 发送数据,并且数据似乎已被压缩或编码。我在追加程序中看不到任何允许我配置压缩的选项。

您知道我需要配置什么以便在通过upd发送时使我的Graylog消息可读吗?我尝试通过tcp发送消息,即使我在端口1514上有TCP输入,在发送完数据包之后,由于某种原因,数据包也会丢失。

打印到控制台的消息和日志文件都很好。

enter image description here

1 个答案:

答案 0 :(得分:1)

问题是您使用的是syslog / udp端口,而不是gelf / udp输入端口。通常,gelf端口是12201,您可以通过在UI中转到system-> inputs来检查输入配置。

顺便说一句,您无需为Gelf附加程序指定:udp,因为这是音色的默认设置。