Skip to content

Commit

Permalink
enable timerotateloghandler (configurable) (#311)
Browse files Browse the repository at this point in the history
* attempt to enchance logging

* clean up logging

* clean up logging

* reset to logger

* clean up imports

* add comments in config.py

* remove redundant declaration of logging.config. Already exists in caravel/__init__.py

* replace RotatingFileHandler with TimedRotatingFileHandler

* revert back running web server in debug mode

* fix debug in bin/caravel

* resolve build errors - formatting

* need to test

* enable time rotateloghandler

* revert back print statements - add feature for rotatetimelog which is needed and make it configurable

* revert back to default in master

* fix build issues

* remove extra print statement

* change log location to default

* configure console log level and format
  • Loading branch information
sid88in authored and mistercrunch committed May 1, 2016
1 parent 7b5b602 commit d7ea473
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 4 deletions.
17 changes: 13 additions & 4 deletions caravel/__init__.py
Expand Up @@ -6,6 +6,7 @@

import logging
import os
from logging.handlers import TimedRotatingFileHandler

from flask import Flask, redirect
from flask.ext.appbuilder import SQLA, AppBuilder, IndexView
Expand All @@ -20,10 +21,6 @@
APP_DIR = os.path.dirname(__file__)
CONFIG_MODULE = os.environ.get('CARAVEL_CONFIG', 'caravel.config')

# Logging configuration
logging.basicConfig(format='%(asctime)s:%(levelname)s:%(name)s:%(message)s')
logging.getLogger().setLevel(logging.DEBUG)

app = Flask(__name__)
app.config.from_object(CONFIG_MODULE)
if not app.debug:
Expand All @@ -37,6 +34,18 @@

migrate = Migrate(app, db, directory=APP_DIR + "/migrations")

# Logging configuration
logging.basicConfig(format=app.config.get('LOG_FORMAT'))
logging.getLogger().setLevel(app.config.get('LOG_LEVEL'))

if app.config.get('ENABLE_TIME_ROTATE'):
logging.getLogger().setLevel(app.config.get('TIME_ROTATE_LOG_LEVEL'))
handler = TimedRotatingFileHandler(app.config.get('FILENAME'),
when=app.config.get('ROLLOVER'),
interval=app.config.get('INTERVAL'),
backupCount=app.config.get('BACKUP_COUNT'))
logging.getLogger().addHandler(handler)


class MyIndexView(IndexView):
@expose('/')
Expand Down
23 changes: 23 additions & 0 deletions caravel/config.py
Expand Up @@ -130,6 +130,29 @@

VIZ_TYPE_BLACKLIST = []

"""
1) http://docs.python-guide.org/en/latest/writing/logging/
2) https://docs.python.org/2/library/logging.config.html
"""

# Console Log Settings

LOG_FORMAT = '%(asctime)s:%(levelname)s:%(name)s:%(message)s'
LOG_LEVEL = 'DEBUG'

# ---------------------------------------------------
# Enable Time Rotate Log Handler
# ---------------------------------------------------
# LOG_LEVEL = DEBUG, INFO, WARNING, ERROR, CRITICAL

ENABLE_TIME_ROTATE = False
TIME_ROTATE_LOG_LEVEL = 'DEBUG'
FILENAME = '/tmp/caravel.log'
ROLLOVER = 'midnight'
INTERVAL = 1
BACKUP_COUNT = 30


try:
from caravel_config import * # noqa
except Exception:
Expand Down

0 comments on commit d7ea473

Please sign in to comment.