灵虚御风
醉饮千觞不知愁,忘川来生空余恨!

导航

 
""""""
"""
# 日志模块:记录

"""
import logging

# logging.basicConfig(filename='access.log',
# format = '%(asctime)s - %(name)s-%(levelname)s-%(module)s: %(message)s',
# datefmt = '%Y-%m-%d %H:%M:%S %p',
# level = 30,)

"""
# 日志分为五个等级 等级:地震的强度
"""
# logging.debug('debug日志') # 10

# logging.info('info日志') # 20
# logging.warning('warning日志') # 30
# logging.error('error日志') # 40
# logging.critical('critical日志') # 50

"""
1.乱码
2.日志格式
3.如何既打印到终端又写到文件中
"""

"""
1.logger对象:负责产生日志

2.filter对象:过滤日志(了解)

3.handler对象:控制日志输出的位置(文件/终端)

4.formmater对象:规定日志内容的格式
"""

import logging
# 1.logger对象:负责产生日志
logger = logging.getLogger('转账记录')
# 2.filter 对象 :过滤日志(了解)

# 3.handler对象:控制日志输出的位置(文件/终端)

hd1 = logging.FileHandler('al.log',encoding='utf-8')# 输出到文件中
hd2 = logging.FileHandler('a2.log',encoding='utf-8') # 输出到文件中
hd3 = logging.StreamHandler() # 输出到终端

# 4.formmater对象:规定日志内容的格式

fm1 = logging.Formatter(fmt='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
datefmt='%Y-%m-%d %H:%M:%S %p',)


fm2 = logging.Formatter(
fmt = '%(asctime)s - %(name)s: %(message)s',
datefmt='%Y-%m-%d',

)
# 5.给logger对象绑定handler对象
logger.addHandler(hd1)
logger.addHandler(hd2)
logger.addHandler(hd3)

# 6.给handler绑定formmate对象
hd1.setFormatter(fm2)
hd2.setFormatter(fm2)
hd3.setFormatter(fm2)

# 7.设置日志等级
logger.setLevel(20)

# 8.记录日志
logger.debug('啊,烦死了')



# 日志的配置字典
 1 # -*- coding: utf-8 -*-
 2 import traceback
 3 from datetime import datetime
 4 from log.logger import LogBase
 5 
 6 logbase = LogBase()
 7 
 8 
 9 def console_log(func):
10     '''console log handling
11 
12     '''
13     
14     def wrapper(*args, **kw):
15         logger = logbase.get_logger(task_info="console_log")
16         # depth = len(traceback.format_stack())
17         # indent = depth-21 if depth-21 >= 0 else 0
18         indent = len(traceback.format_stack())
19         logger.info('[' +
20                     datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
21                     '] ' + (' '*indent) + func.__name__ + ' ' + str(args) +
22                     ' ' + str(kw))
23         r = func(*args, **kw)
24         logger.info('[' +
25                     datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
26                     '] ' + (' '*indent) + func.__name__ + ' successfully')
27         return r
28     return wrapper
29 
30 
31 def log_debug(log):
32     logger = logbase.get_logger(task_info="debug")
33     # depth = len(traceback.format_stack())
34     # indent = depth-21 if depth-21 >= 0 else 0
35     indent = len(traceback.format_stack())
36     logger.debug('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
37                 '] ' + (' '*indent) + "[\033[0;36m DEBUG \033[0m] " +
38                 str(log))
39 
40 
41 def log_info(log):
42     logger = logbase.get_logger(task_info="info")
43     # depth = len(traceback.format_stack())
44     # indent = depth-21 if depth-21 >= 0 else 0
45     indent = len(traceback.format_stack())
46     logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] + 
47                 '] ' + (' '*indent) + "[\033[0;36m INFO \033[0m] " + str(log))
48 
49 def log_status(log):
50     logger = logbase.get_logger(task_info="info")
51     indent = len(traceback.format_stack())
52     logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] + '] '
53                  + (' '*indent) + "[\033[0;36m INFO \033[0m]" + "\n" +
54                  "---------"*25  + str(log) + "\n" + "---------"*20)
55 
56 
57 def log_warn(log):
58     logger = logbase.get_logger(task_info="warn")
59     # depth = len(traceback.format_stack())
60     # indent = depth-21 if depth-21 >= 0 else 0
61     indent = len(traceback.format_stack())
62     logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
63                 '] ' + (' '*indent) + "[\033[0;33m WARN \033[0m] " + str(log))
64 
65 
66 def log_error(log):
67     logger = logbase.get_logger(task_info="error")
68     # depth = len(traceback.format_stack())
69     # indent = depth-21 if depth-21 >= 0 else 0
70     indent = len(traceback.format_stack())
71     logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
72                 '] ' + (' '*indent) + "[\033[0;31m ERROR \033[0m] " + str(log))
logs.py

 


# code 案例

# -*- coding: utf-8 -*-
import traceback
from datetime import datetime
from log.logger import LogBase

logbase = LogBase()


def console_log(func):
    '''console log handling

    '''
    
    def wrapper(*args, **kw):
        logger = logbase.get_logger(task_info="console_log")
        # depth = len(traceback.format_stack())
        # indent = depth-21 if depth-21 >= 0 else 0
        indent = len(traceback.format_stack())
        logger.info('[' +
                    datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
                    '] ' + (' '*indent) + func.__name__ + ' ' + str(args) +
                    ' ' + str(kw))
        r = func(*args, **kw)
        logger.info('[' +
                    datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
                    '] ' + (' '*indent) + func.__name__ + ' successfully')
        return r
    return wrapper


def log_debug(log):
    logger = logbase.get_logger(task_info="debug")
    # depth = len(traceback.format_stack())
    # indent = depth-21 if depth-21 >= 0 else 0
    indent = len(traceback.format_stack())
    logger.debug('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
                '] ' + (' '*indent) + "[\033[0;36m DEBUG \033[0m] " +
                str(log))


def log_info(log):
    logger = logbase.get_logger(task_info="info")
    # depth = len(traceback.format_stack())
    # indent = depth-21 if depth-21 >= 0 else 0
    indent = len(traceback.format_stack())
    logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] + 
                '] ' + (' '*indent) + "[\033[0;36m INFO \033[0m] " + str(log))

def log_status(log):
    logger = logbase.get_logger(task_info="info")
    indent = len(traceback.format_stack())
    logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] + '] '
                 + (' '*indent) + "[\033[0;36m INFO \033[0m]" + "\n" +
                 "---------"*25  + str(log) + "\n" + "---------"*20)


def log_warn(log):
    logger = logbase.get_logger(task_info="warn")
    # depth = len(traceback.format_stack())
    # indent = depth-21 if depth-21 >= 0 else 0
    indent = len(traceback.format_stack())
    logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
                '] ' + (' '*indent) + "[\033[0;33m WARN \033[0m] " + str(log))


def log_error(log):
    logger = logbase.get_logger(task_info="error")
    # depth = len(traceback.format_stack())
    # indent = depth-21 if depth-21 >= 0 else 0
    indent = len(traceback.format_stack())
    logger.info('[' + datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3] +
                '] ' + (' '*indent) + "[\033[0;31m ERROR \033[0m] " + str(log))

  

posted on 2022-03-24 18:02  没有如果,只看将来  阅读(24)  评论(0)    收藏  举报