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

问题描述

我正在尝试将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"}

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

解决方法

您看到的是var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ service: 'gmail',auth: { user: '[email protected]',pass: 'my_password' } }); const sendMail = (email,subject,text) => { const mailOptions = { from: email,to: '[email protected]',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