如何从Fluentd日志中删除日期时间和标签?

时间:2020-09-23 00:15:24

标签: go fluentd docker-container

我正在尝试将Fluentd用作我的Docker容器设置的中央日志记录服务。

我使用Fluent golang客户端从应用程序写入日志 https://github.com/fluent/fluent-logger-golang

我从应用程序中发布这样的日志行

logger, _ := fluent.New(fluent.Config{FluentPort: 24224, FluentHost: "fluentd"})
defer logger.Close()
tag := "web"
var data = map[string]string{
    "foo":  "bar",
    "hoge": "hoge",
}
error := logger.Post(tag, data)

有效的conf文件

 <source>
  @type  forward
  @id    app_logs
  @label @mainstream
  port  24224
</source>

<label @mainstream>
  <match **>
    @type  file
    @id    app_logs
    path   /fluentd/log/app.log
    append true
  </match>
</label>

日志在文件中显示如下

2020-09-23T00:05:06+00:00   web {"foo":"bar","hoge":"hoge"}

我不想看到时间戳和在日志行之前添加的标记。如何删除它?

1 个答案:

答案 0 :(得分:1)

您看到的是var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'saxena1975sanjeev@gmail.com', pass: 'my_password' } }); const sendMail = (email, subject, text) => { const mailOptions = { from: email, to: 'saxena1975sanjeev@gmail.com', subject: subject, text: text }; transporter.sendMail(mailOptions, function(error, info) { if(error) { console.log(error); } else { console.log('Email sent: ' + info.response); } }); } module.exports = sendMail(); 。 Fluentd将时间戳记和标记打印到stdout以进行调试。如果将其替换为任何其他输出-@type stdout@type file并格式化json,它将把数据序列化为没有此前缀的有效json。示例:https://docs.fluentd.org/output/file#less-than-format-greater-than-directive