import sys
from loguru import logger
# 日志级别: debug 调试信息打印日志比较详细,级别最低
# info 正常的提示信息,级别较低
# waring 警告信息,不影响代码往下运行,级别较高
# error 出错了,级别最高
# exception 比如:程序出异常了 sql 执行出错,也是用的error
def my_log():
logger.remove() # 清除它的默认设置
fmt = '[{time}][{level}][{file.path}:{line}:function_name:{function}] || msg={message}'
# level file function module 格式中的几个参数
logger.add(sys.stdout, level='INFO', format=fmt) # 设置日志级别并在控制台打印出来,是打印此级别以上的要打印
logger.add('lhy.log', level='INFO', encoding='utf-8', enqueue=True, rotation='20 kb') # 写在日志文件中,
# enqueue=True,异步写日志
# 队列
# 消息队列
# rotation可以设置大小,超过多大就产生一个新文件
# rotation可以设置多长时间,超过多久就产生一个新文件 1 day 1 hour
# rotation可以设置几点就产生一个新文件 , 00:00 1:00
# retention= 7 days 多长时间后删除以前产生的日志,当前的日志不受影响
logger.add('lhy.log', level='INFO', encoding='utf-8', enqueue=True, rotation='20 kb') # 文件超过多大就新生成一个新文件
logger.add('lhy.log', level='INFO', encoding='utf-8', enqueue=True, rotation='01:00') # 每天1点创建新文件
logger.add('lhy.log', level='INFO', encoding='utf-8', enqueue=True, rotation='2 week') #文件超过2周就清理掉
logger.add('lhy.log', level='INFO', encoding='utf-8', enqueue=True, retention='7 days')
logger.debug('程序开始运行了')
logger.debug('开始连接mysql')
logger.info('mysql 配置xxxxx')
logger.warning('警告,磁盘空间即将不足')
logger.error('代码出错了')
# logger.exception('sql执行出错了')
my_log()