mirror of https://github.com/Chocobozzz/PeerTube
Fix log parser with multiple files
parent
f686f5ed0a
commit
5220859984
|
@ -76,44 +76,48 @@ run()
|
||||||
.then(() => process.exit(0))
|
.then(() => process.exit(0))
|
||||||
.catch(err => console.error(err))
|
.catch(err => console.error(err))
|
||||||
|
|
||||||
function run () {
|
async function run () {
|
||||||
return new Promise<void>(async res => {
|
const files = await getFiles()
|
||||||
const files = await getFiles()
|
|
||||||
|
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
if (file === 'peertube-audit.log') continue
|
if (file === 'peertube-audit.log') continue
|
||||||
|
|
||||||
console.log('Opening %s.', file)
|
await readFile(file)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const stream = createReadStream(file)
|
function readFile (file: string) {
|
||||||
|
console.log('Opening %s.', file)
|
||||||
|
|
||||||
const rl = createInterface({
|
const stream = createReadStream(file)
|
||||||
input: stream
|
|
||||||
})
|
|
||||||
|
|
||||||
rl.on('line', line => {
|
const rl = createInterface({
|
||||||
try {
|
input: stream
|
||||||
const log = JSON.parse(line)
|
})
|
||||||
if (options.tags && !containsTags(log.tags, options.tags)) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (options.notTags && containsTags(log.tags, options.notTags)) {
|
return new Promise<void>(res => {
|
||||||
return
|
rl.on('line', line => {
|
||||||
}
|
try {
|
||||||
|
const log = JSON.parse(line)
|
||||||
// Don't know why but loggerFormat does not remove splat key
|
if (options.tags && !containsTags(log.tags, options.tags)) {
|
||||||
Object.assign(log, { splat: undefined })
|
return
|
||||||
|
|
||||||
logLevels[log.level](log)
|
|
||||||
} catch (err) {
|
|
||||||
console.error('Cannot parse line.', inspect(line))
|
|
||||||
throw err
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
stream.once('close', () => res())
|
if (options.notTags && containsTags(log.tags, options.notTags)) {
|
||||||
}
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Don't know why but loggerFormat does not remove splat key
|
||||||
|
Object.assign(log, { splat: undefined })
|
||||||
|
|
||||||
|
logLevels[log.level](log)
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Cannot parse line.', inspect(line))
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
stream.once('close', () => res())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue