개발

[fastapi] logging format 설정

Fine애플 2023. 7. 8. 10:04

Fastapi에 logging을 설정하는 방법은 다음과 같이 두 가지가 있다.

 

1. uvicorn으로 설정

log_config = uvicorn.config.LOGGING_CONFIG
log_config["formatters"]["access"]["fmt"] = "%(asctime)s - %(levelname)s - %(message)s"
log_config["formatters"]["default"]["fmt"] = "%(asctime)s - %(levelname)s - %(message)s"
uvicorn.run(app, log_config=log_config)

 

2. logger로 설정

@app.on_event("startup")
async def startup_event():
    logger = logging.getLogger("uvicorn.access")
    handler = logging.StreamHandler()
    handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
    logger.addHandler(handler)
    
    now = str(datetime.datetime.now()).split(" ")[0]
    fileHandler = logging.FileHandler(f'./code_exec_log_{now}.log' ,mode = "w")
    logger.addHandler(fileHandler)

 

 

[참고]

 

 

728x90