Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

Commit

Permalink
Merge b0e0256 into 394addd
Browse files Browse the repository at this point in the history
  • Loading branch information
vlasy committed May 27, 2020
2 parents 394addd + b0e0256 commit ae44d5f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
17 changes: 17 additions & 0 deletions src/index.ts
Expand Up @@ -84,6 +84,21 @@ const initFormatters = (options: CosmasOptions & { loggerName?: string }) => {
return formatters;
};

const initHooks = (options: CosmasOptions & { loggerName?: string }) => {
const hooks: { logMethod?: (inputArgs: any, method: any) => void } = {};
if (!options.loggerName) return hooks;

// always put logger name to message
hooks.logMethod = function(inputArgs, method) {
const text = inputArgs[inputArgs.length - 1];
if (typeof text === 'string' || text instanceof String) {
inputArgs[inputArgs.length - 1] = `[${options.loggerName}] ${text}`;
}
return method.apply(this, inputArgs);
};
return hooks;
};

const defaultLogger = (options: CosmasOptions & { loggerName?: string } = {}): Cosmas => {
serializers.disablePaths(options.disableFields);
serializers.enablePaths(options.enableFields);
Expand All @@ -101,6 +116,7 @@ const defaultLogger = (options: CosmasOptions & { loggerName?: string } = {}): C
const streams = initLoggerStreams(defaultLevel, Object.assign({}, options, { messageKey }));

const formatters = initFormatters(options);
const hooks = initHooks(options);

options.ignoredHttpMethods = options.ignoredHttpMethods || ['OPTIONS'];
const logger = (pino(
Expand All @@ -109,6 +125,7 @@ const defaultLogger = (options: CosmasOptions & { loggerName?: string } = {}): C
{
messageKey,
formatters,
hooks,
base: {},
level: defaultLevel,
serializers: serializers.serializers,
Expand Down
4 changes: 0 additions & 4 deletions src/streams.ts
Expand Up @@ -16,10 +16,6 @@ const getDefaultTransformStream = (options: CosmasOptions & { messageKey: string
const obj = JSON.parse(chunk);
const loggerName = options.loggerName;
let res;
if (loggerName) {
// always put logger name to message
obj[options.messageKey] = `[${loggerName}] ${obj[options.messageKey]}`;
}
if (loggerName && !options.pretty) {
// do not put logger name field to pretty outputs
obj[loggerNameKey] = loggerName;
Expand Down

0 comments on commit ae44d5f

Please sign in to comment.