Compare commits

...

6 Commits

Author SHA1 Message Date
f1ecbadf05 Merge pull request 'Verbessertes Logging' (!64) from Brain/ki-backend:fix-logging into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #64
2022-02-28 18:42:53 +01:00
f7e058d387
Get rid of more duplicate logging 2022-01-26 23:34:38 +01:00
695c88e159
Prevent duplicate log entries 2022-01-26 23:19:26 +01:00
1360b4c738
Give the root logger a nicer format 2022-01-26 23:19:06 +01:00
689a5ba33e
Keep alembic from configuring loggers 2022-01-26 23:17:41 +01:00
19aebcc327
Use app logger instead of root logger 2022-01-26 21:43:31 +01:00
4 changed files with 8 additions and 61 deletions

13
app.py
View File

@ -8,7 +8,6 @@ import os
from dotenv import load_dotenv, find_dotenv
from flask import Flask
from flask_cors import CORS
from flask.logging import default_handler
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
from ldap3.utils.log import logger as ldap3_logger
@ -17,13 +16,15 @@ from ldap3.utils.log import set_library_log_detail_level, BASIC
load_dotenv(find_dotenv())
app = Flask(__name__)
# Configure logging
loglevel = os.getenv("KI_LOGLEVEL", logging.WARNING)
loglevel = int(loglevel)
app.logger.setLevel(loglevel)
logging.basicConfig(level=loglevel)
set_library_log_detail_level(BASIC)
ldap3_logger.addHandler(default_handler)
app.logger.propagate = False # do not forward messages to the root logger
logging.basicConfig(level=loglevel, format='[%(asctime)s] %(levelname)s [%(name)s] %(message)s') # configure root logger as fallback
logging.getLogger('werkzeug').propagate = False # werkzeug has its own ColorStreamHandler
set_library_log_detail_level(BASIC) # ldap3 has different verbosity levels internally
app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("SQLALCHEMY_DATABASE_URI")
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
@ -40,6 +41,6 @@ CORS(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db, compare_type=True)
logging.debug("Hello from KI")
app.logger.info("Hello from KI")
from ki import module # noqa

View File

@ -3,7 +3,6 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
import csv
import logging
from app import app, db
from ki.models import Address, Contact, ContactType, Language, Skill, Profile, ProfileLanguage, ProfileSearchtopic, \
@ -13,7 +12,7 @@ from ki.models import Address, Contact, ContactType, Language, Skill, Profile, P
def seed_contacttypes():
contacttypes_seed_file_path = app.config["KI_DATA_DIR"] + "/seed_data/contacttypes.csv"
logging.info("importing contacttypes")
app.logger.info("importing contacttypes")
with open(contacttypes_seed_file_path) as file:
csv_reader = csv.DictReader(file)

View File

@ -1,50 +0,0 @@
# A generic, single database configuration.
[alembic]
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
# Logging configuration
[loggers]
keys = root,sqlalchemy,alembic,flask_migrate
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = WARN
handlers = console
qualname =
[logger_sqlalchemy]
level = WARN
handlers =
qualname = sqlalchemy.engine
[logger_alembic]
level = INFO
handlers =
qualname = alembic
[logger_flask_migrate]
level = INFO
handlers =
qualname = flask_migrate
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

View File

@ -11,9 +11,6 @@ from alembic import context
# access to the values within the .ini file in use.
config = context.config
# Interpret the config file for Python logging.
# This line sets up loggers basically.
fileConfig(config.config_file_name)
logger = logging.getLogger('alembic.env')
# add your model's MetaData object here