X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Flogger.ts;h=29e06860dbf9ca0604805dc94bfeab2e75aa1d46;hb=e030bfb59dd5ee65f20a64686ec9b22ca39f70ae;hp=f1808849ee2ece2e1dc5a37eb26ab09a9976c0fe;hpb=2a6cf69cffb83d0fbd73c4a0aabbb94df47b06c8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/logger.ts b/server/helpers/logger.ts index f1808849e..29e06860d 100644 --- a/server/helpers/logger.ts +++ b/server/helpers/logger.ts @@ -27,6 +27,14 @@ function getLoggerReplacer () { seen.add(value) } + if (value instanceof Set) { + return Array.from(value) + } + + if (value instanceof Map) { + return Array.from(value.entries()) + } + if (value instanceof Error) { const error = {} @@ -40,7 +48,9 @@ function getLoggerReplacer () { } const consoleLoggerFormat = winston.format.printf(info => { - const obj = omit(info, 'label', 'timestamp', 'level', 'message', 'sql') + const toOmit = [ 'label', 'timestamp', 'level', 'message', 'sql', 'tags' ] + + const obj = omit(info, ...toOmit) let additionalInfos = JSON.stringify(obj, getLoggerReplacer(), 2) @@ -48,10 +58,14 @@ const consoleLoggerFormat = winston.format.printf(info => { else additionalInfos = ' ' + additionalInfos if (info.sql) { - additionalInfos += '\n' + sqlFormat(info.sql, { - language: 'sql', - ident: ' ' - }) + if (CONFIG.LOG.PRETTIFY_SQL) { + additionalInfos += '\n' + sqlFormat(info.sql, { + language: 'sql', + indent: ' ' + }) + } else { + additionalInfos += ' - ' + info.sql + } } return `[${info.label}] ${info.timestamp} ${info.level}: ${info.message}${additionalInfos}` @@ -136,14 +150,25 @@ const bunyanLogger = { error: bunyanLogFactory('error'), fatal: bunyanLogFactory('error') } + +type LoggerTagsFn = (...tags: string[]) => { tags: string[] } +function loggerTagsFactory (...defaultTags: string[]): LoggerTagsFn { + return (...tags: string[]) => { + return { tags: defaultTags.concat(tags) } + } +} + // --------------------------------------------------------------------------- export { + LoggerTagsFn, + buildLogger, timestampFormatter, labelFormatter, consoleLoggerFormat, jsonLoggerFormat, logger, + loggerTagsFactory, bunyanLogger }