0

当我使用输出cat运行 journalctl 时,它会按预期打印整个异常堆栈跟踪。使用输出json运行 journalctl并跳过第一行:

[root@doc-test-node01 splunk]# journalctl -f -o cat | grep undertow

13:35:31,858 ERROR [io.undertow.request] [bruker=01026300394 korrId=826gg6c45 kallId=826y7otah] (default task-62) Undertow request failed HttpServerExchange{ POST /startlan-esoknad/soknader/}: java.lang.NullPointerException
        at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:171)
        at io.undertow.servlet.spec.ServletInputStreamImpl.close(ServletInputStreamImpl.java:245)
        at io.undertow.servlet.spec.HttpServletRequestImpl.closeAndDrainRequest(HttpServletRequestImpl.java:602)
        at io.undertow.servlet.core.ServletBlockingHttpExchange.close(ServletBlockingHttpExchange.java:87)
        at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1444)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:213)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)

当我运行时journalctl -f -o json-pretty | grep undertow,journalctl 会跳过第一行:

[root@doc-test-node01 splunk]# journalctl -f -o json-pretty | grep undertow

        "MESSAGE" : "\u0009at io.undertow.servlet.spec.ServletInputStreamImpl.readIntoBuffer(ServletInputStreamImpl.java:171)",
        "MESSAGE" : "\u0009at io.undertow.servlet.spec.ServletInputStreamImpl.close(ServletInputStreamImpl.java:245)",
        "MESSAGE" : "\u0009at io.undertow.servlet.spec.HttpServletRequestImpl.closeAndDrainRequest(HttpServletRequestImpl.java:602)",
        "MESSAGE" : "\u0009at io.undertow.servlet.core.ServletBlockingHttpExchange.close(ServletBlockingHttpExchange.java:87)",
        "MESSAGE" : "\u0009at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1444)",
        "MESSAGE" : "\u0009at io.undertow.server.Connectors.executeRootHandler(Connectors.java:213)",
        "MESSAGE" : "\u0009at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)",

它还跳过了输出 json 和 json-sse 的第一行。

4

1 回答 1

0

我发现我不应该grep。journalctl 无法创建第一行的 json,而是打印数字,表示消息存在:

"MESSAGE" : [ 27, 91, 48, ...
于 2015-10-29T14:07:25.683 回答