小编Han*_*ner的帖子

在 rsyslog 模板中使用 linux 环境变量

我正在尝试向我的 rsyslog 模板添加一个环境变量。
我尝试使用 'getenv()' 函数但没有任何运气,我总是得到一个空字符串作为回报。

我正在附上我的 rsyslog 配置文件的示例,我使用“HOME”环境变量作为示例。

/etc/rsyslog.d/00-my_log.conf

set $.my_home=getenv("HOME");

template(name="json-template"
  type="list") {
    constant(value="{")
      constant(value="\",\"my_home\":\"")     property(name="$.my_home")
      constant(value="\",\"message\":\"")     property(name="msg" format="json")
    constant(value="\"}\n")
}

*.* action(type="omfile" dirCreateMode="0700" FileCreateMode="0644"
       template="json-template" File="/var/log/my_log")
Run Code Online (Sandbox Code Playgroud)

/var/log/my_log

{"my_home":"","message":"my log message"}
Run Code Online (Sandbox Code Playgroud)

rsyslogd:版本 8.4.2

ubuntu log-files logging syslog rsyslog

5
推荐指数
1
解决办法
2104
查看次数

标签 统计

log-files ×1

logging ×1

rsyslog ×1

syslog ×1

ubuntu ×1