2
저는 파이썬과 프로그래밍에 익숙하지 않고 간단한 일일 로거를 만들려고합니다. 접미사를 변경할 수는 없지만 내 요구 사항에 부합하기 때문에 TimedRotatingFileHandler
을 사용하고 싶습니다. 중요한 내용입니다. 내 로그에 ".csv"확장자를 사용해야합니다. 그래서 접미사를 추가해야하는 클래스 MyTimedRotatingFileHandler
이 발견되었지만 불행히도 실수를 저지르고있는 곳을 얻지는 못합니다.Python TimedRotatingFileHandler에 대한 접미사가있는 일일 로거
다음은 웹에서 가져온 일부 발췌 문장으로 만든 코드입니다. self.info(a)
에서 self
이 (정의되지 않는
# -*- coding: utf-8 -*-
import serial
import os
import time
import logging
from logging.handlers import TimedRotatingFileHandler
ser = serial.Serial('/dev/ttyACM0', 38400, timeout=15)
class MyTimedRotatingFileHandler(logging.handlers.TimedRotatingFileHandler):
def __init__(self,dir_log):
self.dir_log = dir_log
filename = self.dir_log+time.strftime("%m%d%Y")+".csv"
logging.handlers.TimedRotatingFileHandler.__init__(self,filename,
when='S', interval=5, backupCount=0, encoding=None)
def doRollover(self):
line = ser.readline()
self.baseFilename = self.dir_log+time.strftime("%d/%m/%Y %H:%M:%S")+".csv"
self.stream = open(self.baseFilename, 'w')
self.rolloverAt = self.rolloverAt + self.interval
a="%s,%s,%s,%s" % (self.baseFileName,'Température :',line,"\n")
#a = "{0},{1},{2},{3}".format(self.baseFileName,'Température :',line,"\n")
print a
self.info(a)
# logger.flush()
ser.close()