mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 14:35:45 +00:00
* adjusted hashlib imports and renamed to bigchaindb error Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * added type hints to transactions module Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved upsert_validator txs to transactions, updated imports Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unused imports Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved tx validate to lib Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved from_db to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed from db from transaction Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved election validation to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved election methods to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved get_validators and get_recipients to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unnecessary election method Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved show_election_status to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved topology check to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved election_id_to_public_key to validator_utils Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved vote methods to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved process_block to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unused code from Vote Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved has election concluded to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * adjusted has_election_concluded Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unused imports, added copyright notices Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved rollback_eleciton to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved on_rollback behaviour to planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * moved some validator utils to tendermint utils, election approval now handled by planetmint Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * Use planetmint-transaction pypi package Signed-off-by: cybnon <stefan.weber93@googlemail.com> * fixed docs imports Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed validate call on test case Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * resolved linting errors Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed mock on test case Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * adjusted CHANGELOG Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed duplicate transactions test suite Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed pr comments Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * reordered imports to be standardized Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * removed unused imports and reordered them Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> * fixed linter error Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com> Signed-off-by: cybnon <stefan.weber93@googlemail.com> Co-authored-by: cybnon <stefan.weber93@googlemail.com>
76 lines
2.7 KiB
Python
76 lines
2.7 KiB
Python
# Copyright © 2020 Interplanetary Database Association e.V.,
|
|
# Planetmint and IPDB software contributors.
|
|
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
|
|
# Code is Apache-2.0 and docs are CC-BY-4.0
|
|
|
|
from transactions.common.exceptions import ConfigurationError
|
|
from logging.config import dictConfig as set_logging_config
|
|
from planetmint.config import Config, DEFAULT_LOGGING_CONFIG
|
|
|
|
|
|
def _normalize_log_level(level):
|
|
try:
|
|
return level.upper()
|
|
except AttributeError as exc:
|
|
raise ConfigurationError("Log level must be a string!") from exc
|
|
|
|
|
|
def setup_logging():
|
|
"""Function to configure log hadlers.
|
|
|
|
.. important::
|
|
|
|
Configuration, if needed, should be applied before invoking this
|
|
decorator, as starting the subscriber process for logging will
|
|
configure the root logger for the child process based on the
|
|
state of :obj:`planetmint.config` at the moment this decorator
|
|
is invoked.
|
|
|
|
"""
|
|
|
|
logging_configs = DEFAULT_LOGGING_CONFIG
|
|
new_logging_configs = Config().get()["log"]
|
|
|
|
if "file" in new_logging_configs:
|
|
filename = new_logging_configs["file"]
|
|
logging_configs["handlers"]["file"]["filename"] = filename
|
|
|
|
if "error_file" in new_logging_configs:
|
|
error_filename = new_logging_configs["error_file"]
|
|
logging_configs["handlers"]["errors"]["filename"] = error_filename
|
|
|
|
if "level_console" in new_logging_configs:
|
|
level = _normalize_log_level(new_logging_configs["level_console"])
|
|
logging_configs["handlers"]["console"]["level"] = level
|
|
|
|
if "level_logfile" in new_logging_configs:
|
|
level = _normalize_log_level(new_logging_configs["level_logfile"])
|
|
logging_configs["handlers"]["file"]["level"] = level
|
|
|
|
if "fmt_console" in new_logging_configs:
|
|
fmt = new_logging_configs["fmt_console"]
|
|
logging_configs["formatters"]["console"]["format"] = fmt
|
|
|
|
if "fmt_logfile" in new_logging_configs:
|
|
fmt = new_logging_configs["fmt_logfile"]
|
|
logging_configs["formatters"]["file"]["format"] = fmt
|
|
|
|
if "datefmt_console" in new_logging_configs:
|
|
fmt = new_logging_configs["datefmt_console"]
|
|
logging_configs["formatters"]["console"]["datefmt"] = fmt
|
|
|
|
if "datefmt_logfile" in new_logging_configs:
|
|
fmt = new_logging_configs["datefmt_logfile"]
|
|
logging_configs["formatters"]["file"]["datefmt"] = fmt
|
|
|
|
log_levels = new_logging_configs.get("granular_levels", {})
|
|
|
|
for logger_name, level in log_levels.items():
|
|
level = _normalize_log_level(level)
|
|
try:
|
|
logging_configs["loggers"][logger_name]["level"] = level
|
|
except KeyError:
|
|
logging_configs["loggers"][logger_name] = {"level": level}
|
|
|
|
set_logging_config(logging_configs)
|