python记录log信息

导入日志管理模块

from loguru import logger

创建log文件

time_day = datetime.datetime.now().strftime('%Y-%m-%d')
logger.add('%s_log_message.log' % str(time_day), retention="1 days")   # 生成log文件, retention为过期时间

使用方法一(装饰器)

@app.route('/', methods=['POST'])
@logger.catch  # catch可以传入参数,如message="自定义字符串", 详情请查看源码
def hello():
    name = request.form.get('name')
    logger.info('调用接口main/hello, url: "/", 请求参数为:{name: %s}' % name)
    print(1 / 0)  # 这里报错
    logger.info('-----调用接口main/hello成功-----\n')
    return 'ok'
    
---------------------
正常执行的log信息:
2022-06-06 11:57:32.057 | INFO     | __main__:hello_world:24 - 调用接口main/hello_world, url: "/hello", 请求参数为:{name: 法外狂徒张三}
2022-06-06 11:57:32.061 | INFO     | __main__:hello_world:25 - -----调用接口main/hello_world成功-----
---------------------
报错信息:
2022-06-06 11:57:47.142 | INFO     | __main__:hello:15 - 调用接口main/hello, url: "/", 请求参数为:{name: 芜湖大司马}
2022-06-06 11:57:47.145 | ERROR    | flask.app:dispatch_request:1936 - An error has been caught in function 'dispatch_request', process 'MainProcess' (7756), thread 'Thread-3' (4564):
Traceback (most recent call last):

  File "E:\Python37\lib\threading.py", line 890, in _bootstrap
    self._bootstrap_inner()
    │    └ <bound method Thread._bootstrap_inner of <Thread(Thread-3, started daemon 4564)>>
    └ <Thread(Thread-3, started daemon 4564)>
  ..... 省略
  
ZeroDivisionError: division by zero

使用方法二(try)

def my_function1():
    try:
        return 1 / 0
    except ZeroDivisionError:
        logger.exception("What?!")
        
my_function1()

----------------------
报错信息:
2022-06-06 12:20:29.329 | ERROR    | __main__:my_function1:13 - What?!
Traceback (most recent call last):

  File "C:/Users/asus/PycharmProjects/pythonProject1\test.py", line 15, in <module>
    my_function1()
    └ <function my_function1 at 0x000001ED8AACD4C8>

> File "C:/Users/asus/PycharmProjects/pythonProject1\test.py", line 11, in my_function1
    return 1 / 0

ZeroDivisionError: division by zero
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值