将 string/text 转换为 splunk 友好格式

Convert a string/text into splunk friendly format

我需要在 运行 我的代码时记录一些细节。 splunk 不会为带有空格、引号等的键值编制索引。是否有任何标准程序可以将任何 string/text 转换为 splunk 友好格式。

示例字符串:

key=string1
key=hello word
key="Hi, How are you", she exclaimed.
key="Wow what a pic!!!!"
key=this word means 'hua' in hindi.
key=%$^##@@####3

等等

Splunk Logging best practice.

If your values contain spaces, wrap them in quotes (for example, username="bob smith").

由于你的键是遵循标准的,只有值有特殊要求,所以上面用引号括起来的方法应该适合你。

你需要转义你的字符串,当它有特殊符号时,比如 " 在你的例子中

像这样转义字符串:

"\"Hi, How are you\", she exclaimed."

有关转义的详细信息可以找到here

如果您不想编写自己的转义实用程序,您可能想从 Apache Commons 探索 StringEscapeUtils.ESCAPE_JAVA

好吧,您可以执行以下操作之一:

  1. 手动创建字段提取以容纳这些日志
  2. 将它们用引号括起来并转义引号 (\")。然后,将splunk props.conf中的KV_MODE设置为auto_escaped。欲了解更多信息,您可以查看此 link。这就是 auto_escaped 值的作用(取自文档)

    extracts fields/value pairs separated by equal signs and honors \" and \ as escaped sequences within quoted values, e.g field="value with \"nested\" quotes"