summaryrefslogtreecommitdiffstats
path: root/openbb_terminal/core/log/generation/settings_logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'openbb_terminal/core/log/generation/settings_logger.py')
-rw-r--r--openbb_terminal/core/log/generation/settings_logger.py116
1 files changed, 19 insertions, 97 deletions
diff --git a/openbb_terminal/core/log/generation/settings_logger.py b/openbb_terminal/core/log/generation/settings_logger.py
index cc3b4caa541..6d4a70c3870 100644
--- a/openbb_terminal/core/log/generation/settings_logger.py
+++ b/openbb_terminal/core/log/generation/settings_logger.py
@@ -1,17 +1,11 @@
# IMPORTATION STANDARD
import json
import logging
-import platform
-from types import FunctionType, ModuleType
-# IMPORTATION THIRDPARTY
# IMPORTATION INTERNAL
-from openbb_terminal import config_terminal as cfg
from openbb_terminal.core.log.generation.common import do_rollover
-from openbb_terminal.core.models.credentials_model import CredentialsModel
-from openbb_terminal.core.models.user_model import UserModel
+from openbb_terminal.core.session.current_system import get_current_system
from openbb_terminal.core.session.current_user import get_current_user
-from openbb_terminal.terminal_helper import is_installer
SENSITIVE_WORDS = [
"API",
@@ -30,103 +24,24 @@ logger = logging.getLogger(__name__)
def log_all_settings(with_rollover: bool = True) -> None:
"""Log all settings"""
- log_settings()
- log_config_terminal()
- log_feature_flags()
- log_keys()
+ log_system()
+ log_credentials()
+ log_preferences()
if with_rollover:
do_rollover()
-def log_settings() -> None:
- """Log settings"""
- current_user = get_current_user()
- settings_dict = {}
- settings_dict["tab"] = (
- "True" if current_user.preferences.USE_TABULATE_DF else "False"
- )
- settings_dict["cls"] = (
- "True" if current_user.preferences.USE_CLEAR_AFTER_CMD else "False"
- )
- settings_dict["color"] = "True" if current_user.preferences.USE_COLOR else "False"
- settings_dict["promptkit"] = (
- "True" if current_user.preferences.USE_PROMPT_TOOLKIT else "False"
- )
- settings_dict["thoughts"] = (
- "True" if current_user.preferences.ENABLE_THOUGHTS_DAY else "False"
- )
- settings_dict["reporthtml"] = (
- "True" if current_user.preferences.OPEN_REPORT_AS_HTML else "False"
- )
- settings_dict["exithelp"] = (
- "True" if current_user.preferences.ENABLE_EXIT_AUTO_HELP else "False"
- )
- settings_dict["rcontext"] = (
- "True" if current_user.preferences.REMEMBER_CONTEXTS else "False"
- )
- settings_dict["rich"] = "True" if current_user.preferences.ENABLE_RICH else "False"
- settings_dict["richpanel"] = (
- "True" if current_user.preferences.ENABLE_RICH_PANEL else "False"
- )
- settings_dict["ion"] = "True" if current_user.preferences.USE_ION else "False"
- settings_dict["watermark"] = (
- "True" if current_user.preferences.USE_WATERMARK else "False"
- )
- settings_dict["autoscaling"] = (
- "True" if current_user.preferences.USE_PLOT_AUTOSCALING else "False"
- )
- settings_dict["dt"] = "True" if current_user.preferences.USE_DATETIME else "False"
- settings_dict["packaged"] = "True" if is_installer() else "False"
- settings_dict["python"] = str(platform.python_version())
- settings_dict["os"] = str(platform.system())
-
- logger.info("SETTINGS: %s ", json.dumps(settings_dict))
-
+def log_system() -> None:
+ """Log system"""
+ system_dict = get_current_system().to_dict()
+ system_dict.pop("LOGGING_AWS_ACCESS_KEY_ID", None)
+ system_dict.pop("LOGGING_AWS_SECRET_ACCESS_KEY", None)
+ logger.info("SYSTEM: %s ", json.dumps(system_dict))
-def log_config_terminal() -> None:
- """Log config_terminal"""
- config_terminal_dict = {}
-
- for item in dir(cfg):
- prop = getattr(cfg, item)
- # pylint: disable=too-many-boolean-expressions
- if (
- not item.startswith("__")
- and not isinstance(prop, FunctionType)
- and not isinstance(prop, ModuleType)
- and not isinstance(prop, UserModel)
- and not isinstance(prop, CredentialsModel)
- and not any(substring in item for substring in SENSITIVE_WORDS)
- ):
- config_terminal_dict[item] = str(prop)
-
- logger.info("CONFIG_TERMINAL: %s ", json.dumps(config_terminal_dict))
-
-
-def log_feature_flags() -> None:
- """Log feature flags"""
-
- current_user = get_current_user()
- feature_flags_dict = {}
-
- for item in dir(current_user.preferences):
- prop = getattr(current_user.preferences, item)
- if (
- not item.startswith("__")
- and not isinstance(prop, FunctionType)
- and not isinstance(prop, ModuleType)
- and not isinstance(prop, UserModel)
- and not isinstance(prop, CredentialsModel)
- ):
- feature_flags_dict[item] = str(prop)
-
- logger.info("FEATURE_FLAGS: %s ", json.dumps(feature_flags_dict))
-
-
-def log_keys() -> None:
- """Log keys"""
+def log_credentials() -> None:
+ """Log credentials"""
current_user = get_current_user()
@@ -143,3 +58,10 @@ def log_keys() -> None:
current_keys[cfg_var_name] = "not_defined"
logger.info("KEYS: %s ", json.dumps(current_keys))
+
+
+def log_preferences() -> None:
+ """Log preferences"""
+ logger.info(
+ "PREFERENCES: %s ", json.dumps(get_current_user().preferences.to_dict())
+ )