양군의 행복한 이야기

Loguru 로테이션시 파일 이름 지정 본문

python

Loguru 로테이션시 파일 이름 지정

까망거북 2024. 1. 10. 11:21

 

loguru는 사용하기 참 편하다

 

그덕분에 커스텀이 힘들다.

 

일단 파일을 사이즈 별로 잘라 로테이션시 파일 이름이 지정된다.

 

기존 파일 이름이 logfile.log 이면 logifle.YYYY-MM-DD_hh-mm-ss_SSSS.log로

 

이게 맘에 안들어 수정을 하기로 맘을 먹었다.

 

 

from loguru import logger
import os
import datetime

def rename_log(filepath):
    now = datetime.datetime.now()
    pathArr = filepath.split("\\")
    fileArr = pathArr[-1].split(".");
    nowpath = filepath[:filepath.rfind(pathArr[-1])]
    nowfile = fileArr[0] +"."+ fileArr[-1]+"."+now.strftime('%H%M%S')
    os.rename(filepath, nowpath+nowfile)
    
logger.add(
            log_path + "logfile.log",
            rotation="0.01 MB",
            level="DEBUG",
            compression=rename_log
        )

 

compression은 기본적으로 zip등의 값을 넣어서 암축을 하는데 로테이션시 이름을 변경 하는 용도로도 가능하다.