鍍金池/ 問(wèn)答/Python  Linux  HTML/ Python logging 按日期分割不成功?

Python logging 按日期分割不成功?

是這樣的,我前幾天寫(xiě)了一個(gè)服務(wù),這個(gè)服務(wù)每10分鐘去查詢所有的CPU占比率超過(guò)百分之10的程序,然后輸出的log中。
這是我的log.py配置

class Log(object):
      '''日志類 '''
      def __init__(self, name):
            self.path = "/var/log/infinity/custom/"  # 定義日志存放路徑
            self.filename = self.path + rq + "_custom_monitor" + ".log"    # 日志文件名稱
            self.name = name    # 為%(name)s賦值
            self.logger = logging.getLogger(self.name)
            # 控制日志文件中記錄級(jí)別
            self.logger.setLevel(logging.INFO)
            # 控制輸出到控制臺(tái)日志格式、級(jí)別
            # self.ch = logging.StreamHandler()
            # 日志保留7天,一天保存一個(gè)文件
            self.fh = TimedRotatingFileHandler(self.filename, when='D', interval=1, backupCount=7)
            # 刪除設(shè)置
            self.fh.suffix = '%Y-%m-%d_%H-%M.log'
            self.fh.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}.log$")
            # 定義日志文件中格式
            self.formatter = logging.Formatter('%(asctime)s - %(levelname)s -   %(name)s[line:%(lineno)d] - %(message)s')
            self.fh.setFormatter(self.formatter)
            self.logger.addHandler(self.fh)
            # self.logger.addHandler(self.ch)

      def info(self, msg):
          self.logger.info(msg)

      def warning(self, msg):
          self.logger.warning(msg)

      def error(self, msg):
          self.logger.error(msg)

      def debug(self, msg):
          self.logger.debug(msg)

      def close(self):
          self.logger.removeHandler(self.fh)

這是我的調(diào)用代碼:

log.info("\n進(jìn)程占用內(nèi)存\n" + check_process_memory(key))

問(wèn)題就來(lái)了,非常奇怪,我昨天啟動(dòng)的監(jiān)控程序,生成了3月22號(hào)的log日志,但是,今天我檢查,發(fā)現(xiàn)沒(méi)有生成3月23號(hào)的日志程序,還是依舊記錄在3月22的日志中。
我一度懷疑自己寫(xiě)法有問(wèn)題,但是我切換了按分鐘分割日志就分割成功了,按天數(shù)就有問(wèn)題,請(qǐng)問(wèn)有誰(shuí)也遇到過(guò)這樣的情況么?如何處理?

回答
編輯回答
孤慣

你寫(xiě)的沒(méi)看出來(lái)問(wèn)題啊,我懷疑你服務(wù)器的時(shí)間是不是沒(méi)到23號(hào),在終端執(zhí)行date,我猜你服務(wù)器時(shí)間可能是utc時(shí)間?

參考這個(gè)https://www.cnblogs.com/qhlbl...
'D' 是+1天,改成when='MIDNIGHT'是你想要的效果

2018年8月23日 15:24