diff --git a/openwebrx.conf b/openwebrx.conf index 32a0f77..544f037 100644 --- a/openwebrx.conf +++ b/openwebrx.conf @@ -1,6 +1,7 @@ [core] data_directory = /var/lib/openwebrx temporary_directory = /tmp +log_level = INFO [web] port = 8073 diff --git a/owrx/__main__.py b/owrx/__main__.py index 1bf8f4b..b7a17b0 100644 --- a/owrx/__main__.py +++ b/owrx/__main__.py @@ -1,7 +1,8 @@ import logging # the linter will complain about this, but the logging must be configured before importing all the other modules -logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") +# loglevel will be adjusted later, INFO is just for the startup +logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") logger = logging.getLogger(__name__) from http.server import HTTPServer @@ -51,10 +52,6 @@ def main(): args = parser.parse_args() - # set loglevel to info for CLI commands - if args.module is not None and not args.debug: - logging.getLogger().setLevel(logging.INFO) - if args.version: print("OpenWebRX version {version}".format(version=openwebrx_version)) return 0 @@ -65,10 +62,10 @@ def main(): if args.module == "config": return run_admin_action(configparser, args) - return start_receiver() + return start_receiver(loglevel=logging.DEBUG if args.debug else None) -def start_receiver(): +def start_receiver(loglevel=None): print( """ @@ -91,6 +88,9 @@ Support and info: https://groups.io/g/openwebrx Config.validateConfig() coreConfig = CoreConfig() + # passed loglevel takes priority (used for the --debug argument) + logging.getLogger().setLevel(coreConfig.get_log_level() if loglevel is None else loglevel) + featureDetector = FeatureDetector() failed = featureDetector.get_failed_requirements("core") if failed: diff --git a/owrx/config/core.py b/owrx/config/core.py index e22f004..1c9e03d 100644 --- a/owrx/config/core.py +++ b/owrx/config/core.py @@ -34,6 +34,7 @@ class CoreConfig(object): CoreConfig.checkDirectory(self.data_directory, "data_directory") self.temporary_directory = config.get("core", "temporary_directory") CoreConfig.checkDirectory(self.temporary_directory, "temporary_directory") + self.log_level = config.get("core", "log_level") self.web_port = config.getint("web", "port") self.aprs_symbols_path = config.get("aprs", "symbols_path") @@ -57,3 +58,6 @@ class CoreConfig(object): def get_aprs_symbols_path(self): return self.aprs_symbols_path + + def get_log_level(self): + return self.log_level