Pastebin

Paste #3823: flask logger

< previous paste - next paste>

Pasted by tdn

Download View as text

#!/usr/bin/env python
#encoding=utf8
import os

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from jinja2 import BaseLoader, ChoiceLoader, TemplateNotFound
from flask.ext.login import LoginManager
from flask.ext.babel import Babel, lazy_gettext

from config import basedir, WTF_CSRF_ENABLED, SECRET_KEY, LANGUAGES, PRODUCTS_PER_PAGE, SQLALCHEMY_RECORD_QUERIES, DATABASE_QUERY_TIMEOUT, APP_NAME, SITE_NAME, SITE_URL, UPLOAD_FOLDER, ALLOWED_EXTENSIONS, UPLOADED_FILES_DEST, UPLOADED_IMAGES_DEST, LOG_PATH, LOG_SIZE, LOG_LEVEL, LOG_NAME, STATIC_ROOT, PRODUCT_IMAGE_FOLDER, DATA_ROOT, SQLALCHEMY_DATABASE_URI

app = Flask(__name__)

app.config.from_object('config')
app.jinja_env.line_statement_prefix = '%'

#app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
db = SQLAlchemy(app)

lm = LoginManager()
lm.init_app(app)

# Flask-Login needs to know what view logs users in
lm.login_view = "login"
lm.login_message = lazy_gettext('Please log in to access this page.')

babel = Babel(app)



import logging
from logging.handlers import RotatingFileHandler
file_handler = RotatingFileHandler(LOG_PATH, 'a', LOG_SIZE, 10)
logger = logging.getLogger(LOG_NAME)
app.logger.addHandler(logger)
app.logger.addHandler(file_handler)


if app.debug:
    file_handler.setLevel(logging.DEBUG)
    app.logger.setLevel(logging.DEBUG)
    logger.setLevel(logging.DEBUG)
else:
    file_handler.setLevel(logging.INFO)
    app.logger.setLevel(logging.INFO)
    logger.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))

New Paste


Do not write anything in this field if you're a human.

Go to most recent paste.