MCPcopy
hub / github.com/jhao104/proxy_pool / LogHandler

Class LogHandler

handler/logHandler.py:44–92  ·  view source on GitHub ↗

LogHandler

Source from the content-addressed store, hash-verified

42
43
44class LogHandler(logging.Logger):
45 """
46 LogHandler
47 """
48
49 def __init__(self, name, level=DEBUG, stream=True, file=True):
50 self.name = name
51 self.level = level
52 logging.Logger.__init__(self, self.name, level=level)
53 if stream:
54 self.__setStreamHandler__()
55 if file:
56 if platform.system() != "Windows":
57 self.__setFileHandler__()
58
59 def __setFileHandler__(self, level=None):
60 """
61 set file handler
62 :param level:
63 :return:
64 """
65 file_name = os.path.join(LOG_PATH, '{name}.log'.format(name=self.name))
66 # 设置日志回滚, 保存在log目录, 一天保存一个文件, 保留15天
67 file_handler = TimedRotatingFileHandler(filename=file_name, when='D', interval=1, backupCount=15)
68 file_handler.suffix = '%Y%m%d.log'
69 if not level:
70 file_handler.setLevel(self.level)
71 else:
72 file_handler.setLevel(level)
73 formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
74
75 file_handler.setFormatter(formatter)
76 self.file_handler = file_handler
77 self.addHandler(file_handler)
78
79 def __setStreamHandler__(self, level=None):
80 """
81 set stream handler
82 :param level:
83 :return:
84 """
85 stream_handler = logging.StreamHandler()
86 formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
87 stream_handler.setFormatter(formatter)
88 if not level:
89 stream_handler.setLevel(self.level)
90 else:
91 stream_handler.setLevel(level)
92 self.addHandler(stream_handler)
93
94
95if __name__ == '__main__':

Callers 10

testLogHandlerFunction · 0.90
__init__Method · 0.90
runSchedulerFunction · 0.90
__init__Method · 0.90
__init__Method · 0.90
launcher.pyFile · 0.90
__init__Method · 0.90
testMethod · 0.90
testMethod · 0.90
logHandler.pyFile · 0.85

Calls

no outgoing calls

Tested by 1

testLogHandlerFunction · 0.72