入口文件中添加以下代码:
# 创建日志记录器
logger = logging.getLogger('my_logger')
logger.setLevel(logging.INFO)
# 创建处理程序(普通日志)
handler = RotatingFileHandler('logs/app.log', encoding='utf-8-sig', maxBytes=10485760, backupCount=10)
handler.setLevel(logging.INFO)
logger.addHandler(handler)
# 设置文件编码为 UTF-8
log_file = codecs.open('logs/app.log', mode='a', encoding='utf-8')
handler.stream = log_file
# 创建处理程序(错误日志)
error_handler = RotatingFileHandler('logs/error.log', encoding='utf-8', maxBytes=10485760, backupCount=10)
error_handler.setLevel(logging.ERROR)
logger.addHandler(error_handler)
# 设置日志格式
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
error_handler.setFormatter(formatter)
# 记录普通日志
logger.info('This is a normal log message.')
# 记录错误日志
try:
1 / 0
except Exception as e:
logger.error('An error occurred: %s', str(e))
根目录新增文件flask_logging.conf:
[loggers]
keys=root
[handlers]
keys=fileHandler
[formatters]
keys=defaultFormatter
[logger_root]
level=INFO
handlers=fileHandler
[handler_fileHandler]
class=handlers.RotatingFileHandler
level=INFO
formatter=defaultFormatter
args=('logs/app.log', 'a', 10485760, 3)
[formatter_defaultFormatter]
format=%(asctime)s - %(levelname)s - %(message)s
datefmt=%Y-%m-%d %H:%M:%S
添加日志
import logging.config
# 加载日志配置文件
logging.config.fileConfig('flask_logging.conf')
# 创建日志记录器
logger = logging.getLogger('root')
@bp.route("/login", methods=['GET', 'POST'])
@cross_origin()
def login():
logger.info('登录接口被访问') # 记录日志