Administrator
2023-08-15 980eb7c740a698c71cdb43f74b23bea84b78af1e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# -*- coding: utf-8 -*-
import logging
import sys
import time
 
log_records = []
 
 
 
 
class MyLogHandler(logging.Handler, object):
    """
    自定义日志handler
    """
 
    def __init__(self, name, other_attr=None, **kwargs):
        logging.Handler.__init__(self)
 
    def emit(self, record):
        """
        emit函数为自定义handler类时必重写的函数,这里可以根据需要对日志消息做一些处理,比如发送日志到服务器
 
        发出记录(Emit a record)
        """
        try:
            msg = self.format(record)
            log_records.append((round(time.time() * 1000), msg))
        except Exception:
            self.handleError(record)
 
 
logger = logging.getLogger('logger')
logger.setLevel(logging.DEBUG)
 
# 创建一个流处理器handler并设置其日志级别为DEBUG
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setLevel(logging.DEBUG)
# 创建一个格式器formatter并将其添加到处理器handler
formatter = logging.Formatter("%(asctime)s - %(message)s")
stdout_handler.setFormatter(formatter)
 
logger.addHandler(stdout_handler)
# 内存日志handler
my_log_handler = MyLogHandler('LoggerHandler')
logger.addHandler(my_log_handler)