chore(backend): Duidelijkere MikroORM logging
Zorgt voor beter formaat en juiste labels
This commit is contained in:
		
							parent
							
								
									e6c03c1aca
								
							
						
					
					
						commit
						eca8d89712
					
				
					 5 changed files with 38 additions and 13 deletions
				
			
		|  | @ -1,43 +1,45 @@ | |||
| import { createLogger, format, Logger, transports } from 'winston'; | ||||
| import LokiTransport from 'winston-loki'; | ||||
| import { LokiLabels } from 'loki-logger-ts'; | ||||
| import { LOG_LEVEL, LOKI_HOST } from '../config.js'; | ||||
| 
 | ||||
| const LoggingLevel = 'development' === process.env.NODE_ENV ? 'debug' : 'info'; | ||||
| const Host = 'http://localhost:3102'; | ||||
| const Labels: LokiLabels = { | ||||
|     source: 'Dwengo-Backend', | ||||
|     job: 'Dwengo-Backend', | ||||
|     service: 'API', | ||||
|     host: 'localhost', | ||||
| }; | ||||
| 
 | ||||
| let logger: Logger; | ||||
| 
 | ||||
| function initializeLogger() { | ||||
| function initializeLogger(): Logger { | ||||
|     if (logger !== undefined) { | ||||
|         return logger; | ||||
|     } | ||||
| 
 | ||||
|     const lokiTransport: LokiTransport = new LokiTransport({ | ||||
|         host: Host, | ||||
|         host: LOKI_HOST, | ||||
|         labels: Labels, | ||||
|         level: LoggingLevel, | ||||
|         level: LOG_LEVEL, | ||||
|         json: true, | ||||
|         format: format.combine(format.timestamp(), format.json()), | ||||
|         onConnectionError: (err) => { | ||||
|             // eslint-disable-next-line no-console
 | ||||
|             console.error(`Connection error: ${err}`); | ||||
|         }, | ||||
|     }); | ||||
| 
 | ||||
|     const consoleTransport = new transports.Console({ | ||||
|         level: LoggingLevel, | ||||
|         format: format.combine(format.simple(), format.colorize()), | ||||
|         level: LOG_LEVEL, | ||||
|         format: format.combine(format.cli(), format.colorize()), | ||||
|     }); | ||||
| 
 | ||||
|     logger = createLogger({ | ||||
|         transports: [lokiTransport, consoleTransport], | ||||
|     }); | ||||
| 
 | ||||
|     logger.debug('Logger initialized'); | ||||
|     logger.debug( | ||||
|         `Logger initialized with level ${LOG_LEVEL}, Loki host ${LOKI_HOST}` | ||||
|     ); | ||||
|     return logger; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -16,7 +16,6 @@ export function responseTimeLogger(req: Request, res: Response, time: number) { | |||
|         status: status, | ||||
|         responseTime: Number(time), | ||||
|         labels: { | ||||
|             origin: 'api', | ||||
|             type: 'responseTime', | ||||
|         }, | ||||
|     }); | ||||
|  |  | |||
		Reference in a new issue