在SLF4J / Logback中添加FQDN以记录消息

时间:2016-02-24 12:01:38

标签: java scala logging slf4j logback

我正在使用Logback通过TCP appender将数据提供给Logstash。

我遇到的问题是,我可以获得开箱即用的创建日志的应用程序的非限定主机名(例如 myhostname ),但我可以&# 39;找到一种方法来获取FQDN(例如 myhostname.mydomain.com )。

我可以看到here Logback附带已在其上下文中配置的HOSTNAME变量,但我无法扩展以获取fqdn而不是......

修改 我需要的是一种方法,来自logback配置本身,以获取此信息。不幸的是,我无法修改将自己发出日志消息的代码。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

您可以尝试将您的名称解析为IP地址或FQDN。使用InetAddress类及其静态方法getByName(String name)来尝试解析您的名称。之后,您可以通过方法" public String getCanonicalHostName()"

从中检索IP地址或FQDN

答案 1 :(得分:0)

正如logback documentation中所述,HOSTNAME会自动定义为context scope中的变量,可在配置文件中找到。

未自动定义完全限定的域。但是,您可以使用自定义property definer动态定义它。