如何在日志样例中设置不可见字符

在某些场景下,需要使用不可见字符作为日志的分隔符引用符,本文档主要介绍如何在日志样例中填写不可见字符。

背景信息

  • 如果需要保留日志的原始格式,而且日志内容中本身存在逗号(,)、分号(;)等字符,使用这些字符作为分隔符引用符可能导致解析混乱。而不可见字符在正常的文本内容中几乎不会出现,使用不可见字符作为分隔符引用符可以避免解析错误,保留日志的原始格式。

  • 不可见字符是ASCII码中编号为1~31及127的字符,在文本中不显示任何可见符号或图形。在使用分隔符方式进行数据采集时,日志服务支持将分隔符引用符设置为不可见字符。要指定不可见字符作为分隔符引用符,请使用其ASCII码的十六进制表示,格式为0x${HEX},其中HEX是字符的十六进制编码。

  • 本文假设日志样例为123456780,分隔符为0x01,引用符为0x02,在日志样例5和6之间输入一个不可见字符0x01

操作步骤

  1. 进入分隔符-文本日志模式,具体步骤请参见采集主机文本日志

  2. Logtail配置页面,在浏览器空白处按下鼠标右键,单击检查

    image

  3. 在浏览器的右侧面板,单击控制台页签。

  4. 输入如下内容,然后单击回车键。

    const input = document.createElement('input');
      document.body.appendChild(input);
       input.setAttribute('value', String.fromCharCode(0x01));
      input.select();
      if (document.execCommand('copy')) {
        document.execCommand('copy');
        console.log('复制成功');
      }
  5. 将复制的结果粘贴到日志样例的5和6之间。

    image

  6. 选择分隔符引用符为不可见字符。

    image