python/logging.handlers
をテンプレートにして作成
Search in
this wiki
and
or
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
pythonのlogging.handler達の仕様がイマイチお気に召さなか...
*** 指定した時間単位でログファイルを分割するログハンドラ...
import logging
import logging.handlers
import os
import time
class MyTimedRotatingFileHandler(logging.handlers.BaseRo...
"""
指定した時間単位でログファイルを分割するログハン...
TimedRotatingFileHandlerと異なり、非常駐プロセス...
例えば、when='D'とすると、ログファイル名に日付が...
分割単位は、Y, M, D, H, MI が指定可能。
ログファイル名は、指定された拡張子を維持する。
古いログファイルを削除する機能は無い。
@author kaz@jomura.net
@version 2022.03.17
"""
WHEN_ITEMS = {'Y': '%Y',
'M': '%Y%m',
'D': '%Y%m%d',
'H': '%Y%m%d%H',
'MI': '%Y%m%d%H%M'}
def __init__(self, filename, when='D', encoding=None...
self.basebaseFilename, self.basebaseFileext\
= os.path.splitext(filename)
self.when = when.upper()
logging.handlers.BaseRotatingHandler.__init__(
self, self.__make_logfilename(), 'a', encodi...
def shouldRollover(self, record):
return self.baseFilename != self.__make_logfilen...
def doRollover(self):
if self.stream:
self.stream.close()
self.stream = None
self.baseFilename = self.__make_logfilename()
if not self.delay:
self.stream = self._open()
def __make_logfilename(self):
time_str = time.strftime(self.WHEN_ITEMS[self.wh...
return ''.join(
[self.basebaseFilename, '.', time_str, self....
終了行:
pythonのlogging.handler達の仕様がイマイチお気に召さなか...
*** 指定した時間単位でログファイルを分割するログハンドラ...
import logging
import logging.handlers
import os
import time
class MyTimedRotatingFileHandler(logging.handlers.BaseRo...
"""
指定した時間単位でログファイルを分割するログハン...
TimedRotatingFileHandlerと異なり、非常駐プロセス...
例えば、when='D'とすると、ログファイル名に日付が...
分割単位は、Y, M, D, H, MI が指定可能。
ログファイル名は、指定された拡張子を維持する。
古いログファイルを削除する機能は無い。
@author kaz@jomura.net
@version 2022.03.17
"""
WHEN_ITEMS = {'Y': '%Y',
'M': '%Y%m',
'D': '%Y%m%d',
'H': '%Y%m%d%H',
'MI': '%Y%m%d%H%M'}
def __init__(self, filename, when='D', encoding=None...
self.basebaseFilename, self.basebaseFileext\
= os.path.splitext(filename)
self.when = when.upper()
logging.handlers.BaseRotatingHandler.__init__(
self, self.__make_logfilename(), 'a', encodi...
def shouldRollover(self, record):
return self.baseFilename != self.__make_logfilen...
def doRollover(self):
if self.stream:
self.stream.close()
self.stream = None
self.baseFilename = self.__make_logfilename()
if not self.delay:
self.stream = self._open()
def __make_logfilename(self):
time_str = time.strftime(self.WHEN_ITEMS[self.wh...
return ''.join(
[self.basebaseFilename, '.', time_str, self....
ページ名: