python loguru 日志记录¶
loguru¶
https://mp.weixin.qq.com/s/Jrr8jnNcBtf6CWRXR-SEMw
记录下个人常用的操作
异常捕捉¶
设置出现异常时自动发送异常邮件
@logger.catch 可以作为装饰器对异常进行捕捉, onerror可以指定一个函数作为参数, 参数值是错误对象.
from loguru import logger
from traceback import format_exc
from yagmail import SMTP
mailConfig = {
'user': {
'[email protected]': 'msg'
},
'password': 'msg',
'host': '192.168.1.1',
'port': 25,
'smtp_ssl': False
}
mailUsers = {
'[email protected]': 'orange',
}
def error_callback(errorText):
# 程序异常捕捉, 发送报错信息到指定邮箱
server = SMTP(**mailConfig)
content = f'{now:%Y-%m-%d %H:%M:%S} 程序运行报错: \n{errorText}\n{format_exc()}'
mailContent = {
'to': mailUsers,
'subject': '程序报错',
'contents': content
}
server.send(**mailContent)
server.close()
@logger.catch(onerror=error_callback)
def main():
print(1/0)
文件操作¶
logger.add('./logs/dat.log', level='INFO', rotation="1 week", retention="90 days", compression="zip")
'./logs/dat.log' 表示日志存放的位置.
level 表示存储的级别
rotation 表示多久新建一个日志, 参数可以是12:00, 10 days, 500 MB, 1 week
compression 表示存储格式, compression="zip" 表示以zip压缩格式存储
retention 表示日志保留的时间