@@ -84,6 +84,21 @@ const initFormatters = (options: CosmasOptions & { loggerName?: string }) => {
8484 return formatters ;
8585} ;
8686
87+ const initHooks = ( options : CosmasOptions & { loggerName ?: string } ) => {
88+ const hooks : { logMethod ?: ( inputArgs : any , method : any ) => void } = { } ;
89+ if ( ! options . loggerName ) return hooks ;
90+
91+ // always put logger name to message
92+ hooks . logMethod = function ( inputArgs , method ) {
93+ const text = inputArgs [ inputArgs . length - 1 ] ;
94+ if ( typeof text === 'string' || text instanceof String ) {
95+ inputArgs [ inputArgs . length - 1 ] = `[${ options . loggerName } ] ${ text } ` ;
96+ }
97+ return method . apply ( this , inputArgs ) ;
98+ } ;
99+ return hooks ;
100+ } ;
101+
87102const defaultLogger = ( options : CosmasOptions & { loggerName ?: string } = { } ) : Cosmas => {
88103 serializers . disablePaths ( options . disableFields ) ;
89104 serializers . enablePaths ( options . enableFields ) ;
@@ -101,6 +116,7 @@ const defaultLogger = (options: CosmasOptions & { loggerName?: string } = {}): C
101116 const streams = initLoggerStreams ( defaultLevel , Object . assign ( { } , options , { messageKey } ) ) ;
102117
103118 const formatters = initFormatters ( options ) ;
119+ const hooks = initHooks ( options ) ;
104120
105121 options . ignoredHttpMethods = options . ignoredHttpMethods || [ 'OPTIONS' ] ;
106122 const logger = ( pino (
@@ -109,6 +125,7 @@ const defaultLogger = (options: CosmasOptions & { loggerName?: string } = {}): C
109125 {
110126 messageKey,
111127 formatters,
128+ hooks,
112129 base : { } ,
113130 level : defaultLevel ,
114131 serializers : serializers . serializers ,
0 commit comments