-
[Python]간단한 파일 입출력, 로그찍기 (RotatingFileHandler)언어/Python 2022. 11. 16. 10:56
import logging from logging.handlers import RotatingFileHandler def log_initialize(): logger = logging.getLogger() logger.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) logger.addHandler(stream_handler) # 로그 파일 일반 저장 file_handler = logging.FileHandler('C:/project/result/LOGFILE.log') # 로그 파일 순환 저장 : 용량에 따라 로그 파일 분할 file_handler = RotatingFileHandler('C:/project/result/Rotating.log', maxBytes=1048576, backupCount=5) file_handler.setFormatter(formatter) logger.addHandler(file_handler) def create_newfile(): logging.info('function started') readfile() logging.info('function ended') def readfile(): logging.info('read started') rfile = open('C:/project/emp_20221115.txt','r') logging.info('read ended') change_file(rfile) def change_file(rfile): logging.info('change started') cfile = rfile.read().replace(',', '|') logging.info('change ended') save_file(cfile) def save_file(cfile): logging.info('new file saved') f = open('C:/project/result/newfile.txt', 'w') f.write(cfile) f.close() logging.info('file saved') # Press the green button in the gutter to run the script. if __name__ == '__main__': log_initialize() create_newfile()
결과 (maxByte를 1, backupCount=2로 설정했을때)
해당 Byte를 넘으면 다시 처음파일로 돌아가서 저장하는 순환구조
반응형'언어 > Python' 카테고리의 다른 글
[파이썬] 로그레벨, 로그 세팅하기, Logging, Logger (1) 2022.12.08 [python] 2중for문 한줄로 작성하기 (list) (0) 2022.11.30 파일 입출력 + 로그찍기 (0) 2022.11.15 파이썬 로그찍기 / 로그파일 저장 / 로그출력 (0) 2022.11.15 파이썬 제곱 구하기 (0) 2022.02.03