From ff4d688c9af631ea1c8054921d9f91c5f2cda25a Mon Sep 17 00:00:00 2001 From: matt Date: Sat, 17 Oct 2026 04:31:24 -0700 Subject: [PATCH] add logfile to logging when called as main --- api/ble.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/api/ble.py b/api/ble.py index 0a902b6..2e2069f 100644 --- a/api/ble.py +++ b/api/ble.py @@ -43,12 +43,18 @@ DISCOVER_TIMEOUT = SCAN_TIMEOUT + 5.0 # Timeout for discovering device # --------------------------------------------------------------------------- # # Logging # --------------------------------------------------------------------------- # -logging.basicConfig( - level=logging.INFO, - format="%(asctime)s [%(levelname)s] %(message)s", - datefmt="%H:%M:%S", +_logger = logging.getLogger(__name__) +_logger.setLevel(logging.INFO) + +# Stream (stdout) handler – always present +_stdout_handler = logging.StreamHandler(sys.stdout) +_stdout_handler.setFormatter( + logging.Formatter( + fmt="%(asctime)s [%(levelname)s] %(message)s", + datefmt="%H:%M:%S", + ) ) -log = logging.getLogger(__name__) +_logger.addHandler(_stdout_handler) # --------------------------------------------------------------------------- # # Data model @@ -305,6 +311,10 @@ def test(test_count = 0) -> None: if __name__ == "__main__": import json import sys + _file_handler = logging.FileHandler("app.log", mode="a") + _file_handler.setLevel(logging.INFO) # same level (or tweak) + _file_handler.setFormatter(_stdout_handler.formatter) # reuse formatter + _logger.addHandler(_file_handler) # 1. Grab the argument (string) if len(sys.argv) < 2: print("Usage: python3 test.py ") @@ -350,6 +360,9 @@ if __name__ == "__main__": result_summary = " | ".join(parts) log.info(f" {result_summary}") +# finally create the log +log = _logger + # This is the structure of test_results # [ # {