47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| import logging
 | |
| from logging.config import dictConfig
 | |
| 
 | |
| dictConfig(
 | |
|     {
 | |
|         "version": 1,
 | |
|         "disable_existing_loggers": True,
 | |
|         "formatters": {
 | |
|             "json": {
 | |
|                 "class": "pythonjsonlogger.jsonlogger.JsonFormatter",
 | |
|                 "format": "%(asctime)s %(levelname)s: %(message)s",
 | |
|             }
 | |
|         },
 | |
|         "handlers": {
 | |
|             "stream_handler": {
 | |
|                 "class": "logging.StreamHandler",
 | |
|                 "formatter": "json",
 | |
|                 "stream": "ext://flask.logging.wsgi_errors_stream",
 | |
|             }
 | |
|         },
 | |
|         "root": {
 | |
|             "level": "DEBUG",
 | |
|             "handlers": ["stream_handler"]
 | |
|         }
 | |
|     }
 | |
| )
 | |
| 
 | |
| 
 | |
| class Logger:
 | |
|     def __init__(self):
 | |
|         self.logger = logging.getLogger(__name__)
 | |
| 
 | |
|     def debug(self, msg: str, *args, **kwargs):
 | |
|         self.logger.debug(msg, *args, **kwargs)
 | |
| 
 | |
|     def info(self, msg: str, *args, **kwargs):
 | |
|         self.logger.info(msg, *args, **kwargs)
 | |
| 
 | |
|     def error(self, msg: str, *args, **kwargs):
 | |
|         self.logger.error(msg, *args, **kwargs)
 | |
| 
 | |
|     def exception(self, msg: str, *args, **kwargs):
 | |
|         self.logger.exception(msg, *args, **kwargs)
 | |
| 
 | |
| 
 | |
| logger = Logger()
 |