1,通用日志配置
import logging
import os
class My_log(object):
logg = logging.getLogger(__name__)
logg.setLevel(logging.INFO)
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
from logging.handlers import RotatingFileHandler
fh = RotatingFileHandler(filename=path + ‘/my_log/test.log‘,
mode=‘a‘,
maxBytes=100 * 1024 * 1024, #每个日志文件100兆
backupCount=5,
encoding=‘utf8‘)
# fh = logging.FileHandler(path + ‘/my_log/test.log‘, mode=‘a‘)
fh.setLevel(logging.INFO)
log_format = logging.Formatter(‘%(asctime)s %(filename)s %(lineno)s %(levelname)s %(message)s‘)
fh.setFormatter(log_format)
logg.addHandler(fh)
if __name__ == ‘__main__‘:
log = My_log()
log.logg.error(‘这是一个错误信息‘)
2,flask 日志配置
import logging,os
def create_logger(app):
logging_file_dir = app.config[‘LOGGING_FILE_DIR‘]
flask_app_log = logging.getLogger(‘flask.app‘)
flask_app_log.setLevel(logging.INFO)
console_log_handler = logging.StreamHandler() # 控制台处理器
console_log_formatter = logging.Formatter(
fmt=‘%(name)s %(levelname)s %(pathname)s %(lineno)d %(message)s ‘)
console_log_handler.setFormatter(console_log_formatter)
flask_app_log.addHandler(console_log_handler)
from logging.handlers import RotatingFileHandler
file_log_handler = RotatingFileHandler(
filename=os.path.join(logging_file_dir,‘chat.log‘),
maxBytes=100 * 1024 * 1024,
backupCount=10)
file_log_format = logging.Formatter(fmt=‘%(asctime)s %(name)s %(levelname)s %(lineno)d %(message)s ‘)
file_log_handler.setFormatter(file_log_format)
# 单独设置文件日志的级别
# file_log_handler.setLevel(logging.INFO)
flask_app_log.addHandler(file_log_handler)
#调用方式,在init中
# 添加日志
app.config[‘PROPAGATE_EXCEPTIONS‘] = False #设置传播异常,控制台和日志文件都有,
from utils.log import create_logger
create_logger(app)
原文:https://www.cnblogs.com/wjun0/p/12796524.html