60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
# Source - https://stackoverflow.com/a
|
|
# Posted by Chris, modified by community. See post 'Timeline' for change history
|
|
# Retrieved 2026-01-24, License - CC BY-SA 4.0
|
|
import logging
|
|
|
|
LOGGING_CONFIG = {
|
|
'version': 1,
|
|
'disable_existing_loggers': True,
|
|
'formatters': {
|
|
'standard': {
|
|
'format': '%(asctime)s [%(levelname)-7s][%(name)-24s]: %(message)s'
|
|
},
|
|
},
|
|
'handlers': {
|
|
'default': {
|
|
'formatter': 'standard',
|
|
'class': 'logging.StreamHandler',
|
|
'stream': 'ext://sys.stdout', # Default is stderr
|
|
},
|
|
'stream_handler': {
|
|
'formatter': 'standard',
|
|
'class': 'logging.StreamHandler',
|
|
'stream': 'ext://sys.stdout', # Default is stderr
|
|
},
|
|
'file_handler': {
|
|
'formatter': 'standard',
|
|
'class': 'logging.handlers.RotatingFileHandler',
|
|
'filename': 'app.log',
|
|
'maxBytes': 1024 * 1024 * 1, # = 1MB
|
|
'backupCount': 3,
|
|
},
|
|
},
|
|
'loggers': {
|
|
'uvicorn': {
|
|
'handlers': ['default', 'file_handler'],
|
|
'level': 'TRACE',
|
|
'propagate': False
|
|
},
|
|
'uvicorn.access': {
|
|
'handlers': ['stream_handler', 'file_handler'],
|
|
'level': 'TRACE',
|
|
'propagate': False
|
|
},
|
|
'uvicorn.error': {
|
|
'handlers': ['stream_handler', 'file_handler'],
|
|
'level': 'TRACE',
|
|
'propagate': False
|
|
},
|
|
'uvicorn.asgi': {
|
|
'handlers': ['stream_handler', 'file_handler'],
|
|
'level': 'TRACE',
|
|
'propagate': False
|
|
},
|
|
|
|
},
|
|
}
|
|
|
|
def get_worker_thread_logger() -> logging.Logger:
|
|
logger = logging.getLogger("uvicorn").getChild("build_thread")
|
|
return logger |