mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-10-15 13:21:11 +00:00
fix(logs): require complete no-error values in colon pairs
This commit is contained in:
@@ -23,6 +23,17 @@ test("does not classify explicit non-error key/values as error (#4538)", () => {
|
||||
expect(getLogType("request done, error: null").type).not.toBe("error");
|
||||
expect(getLogType("checks passed, failures=0").type).not.toBe("error");
|
||||
expect(getLogType('shutdown clean, error=""').type).not.toBe("error");
|
||||
expect(getLogType('job done failed=false error=""').type).not.toBe("error");
|
||||
});
|
||||
|
||||
test("keeps errors whose value merely starts with a no-error word", () => {
|
||||
expect(getLogType("connect failed: no route to host").type).toBe("error");
|
||||
expect(getLogType("connection failed: no such host").type).toBe("error");
|
||||
expect(getLogType("error: none of the configured nodes are available").type).toBe(
|
||||
"error",
|
||||
);
|
||||
expect(getLogType("error: nil pointer dereference").type).toBe("error");
|
||||
expect(getLogType("request failed: 0 bytes received").type).toBe("error");
|
||||
});
|
||||
|
||||
test("keeps statusCode-based classification", () => {
|
||||
|
||||
@@ -99,9 +99,13 @@ export const getLogType = (message: string): LogStyle => {
|
||||
|
||||
// Key/value pairs that explicitly report a non-error (e.g. "error: none",
|
||||
// "failed: false") must not trigger the error keyword patterns below
|
||||
const nonErrorKeyValues =
|
||||
/\b(?:error|err|errors|failed|failure|failures)s?\s*[:=]\s*(?:none|null|nil|false|0|no|-|""|'')(?=[\s,;.)\]]|$)/gi;
|
||||
const errorScope = lowerMessage.replace(nonErrorKeyValues, "");
|
||||
const nonErrorColonPairs =
|
||||
/\b(?:error|err|errors|failed|failure|failures)\s*:\s*(?:none|null|nil|false|0|no|-|""|'')(?=[,;.)\]]|$)/gi;
|
||||
const nonErrorLogfmtPairs =
|
||||
/\b(?:error|err|errors|failed|failure|failures)\s*=\s*(?:none|null|nil|false|0|no|-|""|'')(?=[\s,;.)\]]|$)/gi;
|
||||
const errorScope = lowerMessage
|
||||
.replace(nonErrorColonPairs, "")
|
||||
.replace(nonErrorLogfmtPairs, "");
|
||||
|
||||
if (
|
||||
/(?:^|\s)(?:error|err):?\s/i.test(errorScope) ||
|
||||
|
||||
Reference in New Issue
Block a user