Setup logger, configloader, middleware & endpoints
This commit is contained in:
		
							
								
								
									
										57
									
								
								api/logger.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								api/logger.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| const winston = require('winston'); | ||||
| const httpContext = require("express-http-context"); | ||||
|  | ||||
| const logLevel = 'trace'; | ||||
|  | ||||
| const customLevels = { | ||||
|   levels: { | ||||
|     fatal: 0, | ||||
|     error: 1, | ||||
|     warning: 2, | ||||
|     info: 3, | ||||
|     debug: 4, | ||||
|     trace: 5 | ||||
|   }, | ||||
|   colors: { | ||||
|     trace: 'blue', | ||||
|     debug: 'white', | ||||
|     info: 'green', | ||||
|     warning: 'yellow', | ||||
|     error: 'red', | ||||
|     fatal: 'red' | ||||
|   } | ||||
| }; | ||||
|  | ||||
| const appendSessionId = winston.format(info => { | ||||
|   info.sessionId = httpContext.get("sessionId"); | ||||
|   return info | ||||
| }); | ||||
|  | ||||
|  | ||||
| const logger = winston.createLogger({ | ||||
|   level: logLevel, | ||||
|   levels: customLevels.levels, | ||||
|   transports: [ | ||||
|     new winston.transports.File({ | ||||
|       filename: `${__base}/logs/all-logs.log`, | ||||
|       format: winston.format.combine( | ||||
|         appendSessionId(), | ||||
|         winston.format.json() | ||||
|       ) | ||||
|     }) | ||||
|   ] | ||||
| }); | ||||
|  | ||||
| winston.addColors(customLevels.colors); | ||||
|  | ||||
| if (process.env.NODE_ENV !== 'production') { | ||||
|  | ||||
|   logger.add(new winston.transports.Console({ | ||||
|     format: winston.format.combine( | ||||
|       winston.format.colorize(), | ||||
|       winston.format.simple() | ||||
|     ) | ||||
|   })); | ||||
| }; | ||||
|  | ||||
| module.exports = logger; | ||||
		Reference in New Issue
	
	Block a user