diff --git a/.gitignore b/.gitignore index e11292b357d59504d3b69fbd2c1accaf1b183985..acce3a6bf266abeed44cfb4978a21a94f5832f59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,10 @@ __pycache__/ /venv +/logs cmd.txt DB_inserts.txt dumb.sql scrap_script.py *.pyc +*.db diff --git a/requirements.txt b/requirements.txt index 2bd4d95b2238425b416b1ccbe58c442863a77e59..1d3586c117b51bf3b70f3b18287f5ca8e0b1b39d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ alembic==0.9.9 click==6.7 dominate==2.3.1 Flask==1.0.2 +Flask-Babel Flask-Bootstrap==3.3.7.1 Flask-Login==0.4.1 Flask-Migrate==2.2.1 @@ -22,3 +23,5 @@ visitor==0.1.3 Werkzeug==0.14.1 WTForms==2.2.1 WTForms-SQLAlchemy==0.1 +pyexcel +gunicorn==19.9.0 diff --git a/run.py b/run.py new file mode 100644 index 0000000000000000000000000000000000000000..60d5d24ad98b96670253971441f1c8b3433961a5 --- /dev/null +++ b/run.py @@ -0,0 +1,49 @@ +from app import app + + +# Setup logging +import logging +from logging.handlers import RotatingFileHandler +from logging import Formatter + +format = "[%(asctime)s] p%(process)s\n" \ + "[%(levelname)s] in %(name)s: %(filename)s:%(lineno)d\n" \ + "%(message)s\n" + +logging.basicConfig( + filename=app.config.get('LOG_FILENAME', 'logs/flask.log'), + level=logging.DEBUG, + datefmt="%Y-%m-%d %H:%M:%S", + format = format +) + +logging.info( + "\n" + "==============================================================\n" + "Mega-fMRI stimulus Rating Tool Flask application started\n" + "PET-keskus (2018) \n" +) + +handler = RotatingFileHandler('logs/flask.log', maxBytes=10000, backupCount=5) +handler.setFormatter( + Formatter(format) +) +app.logger.addHandler(handler) + +# Logging for production (nginx + gunicorn) +import os +is_gunicorn = "gunicorn" in os.environ.get("SERVER_SOFTWARE", "") +if is_gunicorn: + app.logger.info("Application run through gunicorn") + gunicorn_logger = logging.getLogger('gunicorn.error') + app.logger.handlers = gunicorn_logger.handlers + app.logger.setLevel(gunicorn_logger.level) + app.logger.info("******************") + ''' +else: + log = logging.getLogger('werkzeug') + log.setLevel(logging.ERROR) + ''' + +# EOF +