( context: ParamsOf<LoggerWithContextFn>, )
| 169 | ) as Record<LogLevel, pino.LogFn> |
| 170 | |
| 171 | export function loggerWithContext( |
| 172 | context: ParamsOf<LoggerWithContextFn>, |
| 173 | ): ReturnType<LoggerWithContextFn> { |
| 174 | const mergeData = (data: LogData) => ({ |
| 175 | ...context, |
| 176 | ...(typeof data === 'object' && data !== null ? data : { data }), |
| 177 | }) |
| 178 | return { |
| 179 | debug: (data: LogData, msg?: string, ...args: LogArgs) => |
| 180 | logger.debug(mergeData(data), msg, ...args), |
| 181 | info: (data: LogData, msg?: string, ...args: LogArgs) => |
| 182 | logger.info(mergeData(data), msg, ...args), |
| 183 | warn: (data: LogData, msg?: string, ...args: LogArgs) => |
| 184 | logger.warn(mergeData(data), msg, ...args), |
| 185 | error: (data: LogData, msg?: string, ...args: LogArgs) => |
| 186 | logger.error(mergeData(data), msg, ...args), |
| 187 | } |
| 188 | } |
no test coverage detected