Add log module root and output levels (#534)

This commit is contained in:
Wu Clan
2025-02-27 15:38:41 +08:00
committed by GitHub
parent 5defeca590
commit 68d41cf028
2 changed files with 9 additions and 7 deletions

View File

@@ -41,7 +41,7 @@ def setup_logging():
"""
# Set the logging handler and level
logging.root.handlers = [InterceptHandler()]
logging.root.setLevel('NOTSET')
logging.root.setLevel(settings.LOG_STD_LEVEL)
# Remove all log handlers and propagate to root logger
for name in logging.root.manager.loggerDict.keys():
@@ -69,6 +69,7 @@ def setup_logging():
handlers=[
{
'sink': sys.stdout,
'level': settings.LOG_STD_LEVEL,
'filter': lambda record: correlation_id_filter(record),
'format': settings.LOG_STD_FORMAT,
}
@@ -98,7 +99,7 @@ def set_custom_logfile():
# stdout file
logger.add(
str(log_access_file),
level=settings.LOG_ACCESS_LEVEL,
level=settings.LOG_ACCESS_FILE_LEVEL,
filter=lambda record: record['level'].no <= 25,
backtrace=False,
diagnose=False,
@@ -108,7 +109,7 @@ def set_custom_logfile():
# stderr file
logger.add(
str(log_error_file),
level=settings.LOG_ERROR_LEVEL,
level=settings.LOG_ERROR_FILE_LEVEL,
filter=lambda record: record['level'].no >= 30,
backtrace=True,
diagnose=True,

View File

@@ -95,6 +95,11 @@ class Settings(BaseSettings):
COOKIE_REFRESH_TOKEN_EXPIRE_SECONDS: int = TOKEN_REFRESH_EXPIRE_SECONDS
# Log
LOG_CID_DEFAULT_VALUE: str = '-'
LOG_CID_UUID_LENGTH: int = 32 # must <= 32
LOG_STD_LEVEL: str = 'INFO'
LOG_ACCESS_FILE_LEVEL: str = 'INFO'
LOG_ERROR_FILE_LEVEL: str = 'ERROR'
LOG_STD_FORMAT: str = (
'<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</> | <lvl>{level: <8}</> | '
'<cyan> {correlation_id} </> | <lvl>{message}</>'
@@ -103,10 +108,6 @@ class Settings(BaseSettings):
'<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</> | <lvl>{level: <8}</> | '
'<cyan> {correlation_id} </> | <lvl>{message}</>'
)
LOG_CID_DEFAULT_VALUE: str = '-'
LOG_CID_UUID_LENGTH: int = 32 # must <= 32
LOG_ACCESS_LEVEL: str = 'INFO'
LOG_ERROR_LEVEL: str = 'ERROR'
LOG_ACCESS_FILENAME: str = 'fba_access.log'
LOG_ERROR_FILENAME: str = 'fba_error.log'