首页 / 日志 / Flask--(项目准备)--添加日志
Flask--(项目准备)--添加日志
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Flask--(项目准备)--添加日志,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3171字,纯文字阅读大概需要5分钟。
内容图文
日志:记录程序运行的状态,在manage.py同级目录下创建logs文件夹
定义日志文件:
import logging from logging.handlers import RotatingFileHandler from flask import Flask # 可以用来指定 session 保存的位置from flask.ext.session import Session from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.wtf import CSRFProtect from redis import StrictRedis from config import config # 初始化数据库 # 在Flask很多扩展里面都可以先初始化扩展的对象,然后再去调用 init_app 方法去初始化 db = SQLAlchemy() # https://www.cnblogs.com/xieqiankun/p/type_hints_in_python3.html redis_store = None # type: StrictRedis # redis_store: StrictRedis = Nonedef setup_log(config_name): # 设置日志的记录等级 logging.basicConfig(level=config[config_name].LOG_LEVEL) # 调试debug级# 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限 file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024 * 1024 * 100, backupCount=10) # 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息 formatter = logging.Formatter(‘%(levelname)s %(filename)s:%(lineno)d %(message)s‘) # 为刚创建的日志记录器设置日志记录格式 file_log_handler.setFormatter(formatter) # 为全局的日志工具对象(flask app使用的)添加日志记录器 logging.getLogger().addHandler(file_log_handler) def create_app(config_name): # 配置日志,并且传入配置名字,以便能获取到指定配置所对应的日志等级 setup_log(config_name) # 创建Flask对象 app = Flask(__name__) # 加载配置 app.config.from_object(config[config_name]) # 通过app初始化 db.init_app(app) # 初始化 redis 存储对象global redis_store redis_store = StrictRedis(host=config[config_name].REDIS_HOST, port=config[config_name].REDIS_PORT) # 开启当前项目 CSRF 保护,只做服务器验证功能 CSRFProtect(app) # 设置session保存指定位置 Session(app) # 注册蓝图from info.modules.index import index_blu app.register_blueprint(index_blu) return app
配置日志:
import logging from redis import StrictRedis class Config(object): """项目的配置""" SECRET_KEY = "iECgbYWReMNxkRprrzMo5KAQYnb2UeZ3bwvReTSt+VSESW0OB8zbglT+6rEcDW9X"# 为数据库添加配置 SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information27" SQLALCHEMY_TRACK_MODIFICATIONS = False # Redis的配置 REDIS_HOST = "127.0.0.1" REDIS_PORT = 6379 # Session保存配置 SESSION_TYPE = "redis"# 开启session签名 SESSION_USE_SIGNER = True # 指定 Session 保存的 redis SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT) # 设置需要过期 SESSION_PERMANENT = False # 设置过期时间 PERMANENT_SESSION_LIFETIME = 86400 * 2 # 设置日志等级 LOG_LEVEL = logging.DEBUG class DevelopmentConfig(Config): """开发环境下的配置""" DEBUG = True class ProductionConfig(Config): """生产环境下的配置""" DEBUG = False LOG_LEVEL = logging.WARNING class TestingConfig(Config): """单元测试环境下的配置""" DEBUG = True TESTING = True config = { "development": DevelopmentConfig, "production": ProductionConfig, "testing": TestingConfig }
测试打印日志:
import logging import redis from flask import Flask # Flask参数,可以配置静态文件路由,及文件夹from flask import session from flask.ext.migrate import Migrate, MigrateCommand from flask.ext.script import Manager from config import Config from info import db, create_app app = create_app(‘dev‘) manager = Manager(app) Migrate(app,db) manager.add_command(‘db‘,MigrateCommand) @app.route("/") def index(): # session[‘name‘]= ‘Alice‘ logging.debug("测试打印日志") logging.warning("warning") logging.error("error") logging.fatal("fatal")
return"Welcome to Alice‘ PKM!"if__name__ == "__main__": manager.run()
原文:https://www.cnblogs.com/alicelai1319/p/10289798.html
内容总结
以上是互联网集市为您收集整理的Flask--(项目准备)--添加日志全部内容,希望文章能够帮你解决Flask--(项目准备)--添加日志所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。