mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
parent
5166073f98
commit
3c6a7a51bf
@ -35,6 +35,7 @@ describe('getLoglevel()', () => {
|
|||||||
|
|
||||||
it('returns first log level found', () => {
|
it('returns first log level found', () => {
|
||||||
expect(getLogLevel('WARN this could be a debug message')).toBe(LogLevel.warn);
|
expect(getLogLevel('WARN this could be a debug message')).toBe(LogLevel.warn);
|
||||||
|
expect(getLogLevel('WARN this is a non-critical message')).toBe(LogLevel.warn);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -20,16 +20,21 @@ export function getLogLevel(line: string): LogLevel {
|
|||||||
if (!line) {
|
if (!line) {
|
||||||
return LogLevel.unknown;
|
return LogLevel.unknown;
|
||||||
}
|
}
|
||||||
|
let level = LogLevel.unknown;
|
||||||
|
let currentIndex: number | undefined = undefined;
|
||||||
|
|
||||||
for (const key of Object.keys(LogLevel)) {
|
for (const key of Object.keys(LogLevel)) {
|
||||||
const regexp = new RegExp(`\\b${key}\\b`, 'i');
|
const regexp = new RegExp(`\\b${key}\\b`, 'i');
|
||||||
if (regexp.test(line)) {
|
const result = regexp.exec(line);
|
||||||
const level = (LogLevel as any)[key];
|
|
||||||
if (level) {
|
if (result) {
|
||||||
return level;
|
if (currentIndex === undefined || result.index < currentIndex) {
|
||||||
|
level = (LogLevel as any)[key];
|
||||||
|
currentIndex = result.index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return LogLevel.unknown;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getLogLevelFromKey(key: string): LogLevel {
|
export function getLogLevelFromKey(key: string): LogLevel {
|
||||||
|
Loading…
Reference in New Issue
Block a user