2

在 Splunk 中,我想搜索除并发超时异常之外的任何异常。并发超时异常在日志中显示为“java.util.concurrent.TimeoutException”或“并发超时异常”。如果我执行如下查询:

("*exception*" AND (NOT "java.util.concurrent.TimeoutException"))

Splunk 将查找所有不包含“java.util.concurrent.TimeoutException”的异常(包括那些包含“并发超时异常”,这是预期的)。但是,我不知道如何消除“java.util.concurrent.TimeoutException”和“并发超时异常”。当我尝试时,它似乎消除了所有异常,而不仅仅是那些包含上述两个字符串的异常。

我尝试过类似的东西:

("*exception*" AND NOT ("java.util.concurrent.TimeoutException" OR "concurrent timeout exception"))

认为它会找到所有异常,但不会找到两个不需要的字符串。如果它们中的任何一个评估为真,那么该语句将为真,因此我们将找到所有例外情况!该语句为真。

没用。我尝试了其他各种组合,但无济于事:

("exception" AND (NOT "java.util.concurrent.TimeoutException" OR NOT "concurrent timeout exception"))

谁能在这里指出我正确的方向或提及我做错了什么?谢谢。

4

1 回答 1

1

@JerryJeremiah 的建议应该可行。在格式化查询时写出,如下所示:

("*exception*" AND (NOT "java.util.concurrent.TimeoutException") AND (NOT "concurrent timeout exception"))

或者,为了可读性:

("*exception*" AND
    (NOT "java.util.concurrent.TimeoutException") AND
    (NOT "concurrent timeout exception")
)
于 2017-10-31T14:33:34.443 回答