changed logging config

This commit is contained in:
Daniel 2019-09-08 20:24:14 +02:00
parent 8f5c72d628
commit 27fab58c23
3 changed files with 38 additions and 14 deletions

View file

@ -9,17 +9,6 @@ app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
# Logging
import logging
from logging.handlers import TimedRotatingFileHandler
log_level = app.config["LOG_LEVEL"]
formatter = logging.Formatter("[%(asctime)s]: %(levelname)s in {%(pathname)s:%(lineno)d} - %(message)s")
handler = TimedRotatingFileHandler("dirkules.log", when="D", interval=1, backupCount=90)
handler.setFormatter(formatter)
app.logger.addHandler(handler)
app.logger.setLevel(log_level)
import dirkules.models
# create db if not exists

View file

@ -2,14 +2,13 @@ import os
from dirkules.telegram_config import *
import datetime
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from logging.config import dictConfig
# from apscheduler.jobstores.memory import MemoryJobStore
baseDir = os.path.abspath(os.path.dirname(__file__))
staticDir = os.path.join(baseDir, 'static')
LOG_LEVEL = "DEBUG"
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(baseDir, 'dirkules.db')
SQLALCHEMY_TRACK_MODIFICATIONS = False
@ -39,3 +38,33 @@ JOBS = [
'seconds': 3600
}
]
# Logging testing
dictConfig({
'version': 1,
'formatters': {'default': {
'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s',
}},
'handlers':
{'wsgi': {
'class': 'logging.StreamHandler',
'stream': 'ext://flask.logging.wsgi_errors_stream',
'formatter': 'default'
},
'file': {
'class': 'logging.handlers.TimedRotatingFileHandler',
'formatter': 'default',
'filename': 'dirkules.log',
'when': 'midnight',
'interval': 1,
'backupCount': 90,
}
},
'root': {
'level': 'DEBUG',
'handlers': ['wsgi', 'file']
}
})
# every handler can have it's own level. root level means global level if none is defined for handler.
# handler will be called on every logging event.

View file

@ -6,8 +6,14 @@ from dirkules import db, app
def clean_folders():
for folder in Cleaning.query.all():
print(folder.path)
if folder.state and os.path.isdir(folder.path):
result = autoclean.autoclean(folder.path)
print(result)
if result[1] != '':
app.logger.error("Deleting old files exited with errors: %s", result[1])
elif result[2]:
app.logger.error("Removing empty folders exited with errors.")
elif not os.path.isdir(folder.path):
app.logger.warning('folder not found: %s', folder.path)
app.logger.warning('Folder not found: %s', folder.path)
db.session.commit()