Tools: Fix script logging
Fix issue preventing scripts respecting --log_level argument, by adding
a non-default handler. Also, add script name to log output.
Change-Id: I100a5c29276d362dc38cd6c46f472e5991873293
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/tools/modules/arg_utils.py b/tools/modules/arg_utils.py
index 80093a7..c0482b7 100644
--- a/tools/modules/arg_utils.py
+++ b/tools/modules/arg_utils.py
@@ -8,7 +8,7 @@
import argparse
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
from elftools.elf.elffile import ELFFile
from file_loader import load_bytes_from_file
diff --git a/tools/modules/c_include.py b/tools/modules/c_include.py
index 636f31d..e3185dc 100644
--- a/tools/modules/c_include.py
+++ b/tools/modules/c_include.py
@@ -9,6 +9,9 @@
import os
import json
+import logging
+logger = logging.getLogger("TF-M.{}".format(__name__))
+
def get_compile_command(compile_commands_file, c_file):
with open(compile_commands_file, "rt") as f:
compile_commands = json.load(f)
@@ -32,7 +35,8 @@
parser.add_argument("--c_file", help="name of the c file to take", required=True)
parser.add_argument("--log_level", help="log level", required=False, default="ERROR", choices=logging._levelToName.values())
args = parser.parse_args()
- logger.setLevel(args.log_level)
+ logging.getLogger("TF-M").setLevel(args.log_level)
+ logger.addHandler(logging.StreamHandler())
print(get_compile_command(args.compile_commands_file, args.c_file))
print(get_includes(args.compile_commands_file, args.c_file))
diff --git a/tools/modules/c_struct.py b/tools/modules/c_struct.py
index 08c0428..e88bebc 100644
--- a/tools/modules/c_struct.py
+++ b/tools/modules/c_struct.py
@@ -12,7 +12,7 @@
import os
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
from rich import inspect
@@ -643,7 +643,8 @@
parser.add_argument("--c_file_to_mirror_includes_from", help="name of the c file to take", required=True)
parser.add_argument("--log_level", help="log level", required=False, default="ERROR", choices=logging._levelToName.values())
args = parser.parse_args()
- logger.setLevel(args.log_level)
+ logging.getLogger("TF-M").setLevel(args.log_level)
+ logger.addHandler(logging.StreamHandler())
includes = c_include.get_includes(args.compile_commands_file, args.c_file_to_mirror_includes_from)
defines = c_include.get_defines(args.compile_commands_file, args.c_file_to_mirror_includes_from)
diff --git a/tools/modules/crypto_conversion_utils.py b/tools/modules/crypto_conversion_utils.py
index ddf1c79..4666ef1 100644
--- a/tools/modules/crypto_conversion_utils.py
+++ b/tools/modules/crypto_conversion_utils.py
@@ -9,7 +9,7 @@
from cryptography.hazmat.primitives import hashes
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
def convert_curve_define(define_name : str,
define_prefix : str = "",
diff --git a/tools/modules/encrypt_data.py b/tools/modules/encrypt_data.py
index e4eacc9..6508d9f 100644
--- a/tools/modules/encrypt_data.py
+++ b/tools/modules/encrypt_data.py
@@ -12,7 +12,7 @@
import argparse
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
from arg_utils import *
import secrets
@@ -96,7 +96,9 @@
add_arguments(parser, required=True)
args = parser.parse_args()
- logger.setLevel(args.log_level)
+ logging.getLogger("TF-M").setLevel(args.log_level)
+ logger.addHandler(logging.StreamHandler())
+
config = parse_args(args)
config |= parse_args_automatically(args, ["data"])
diff --git a/tools/modules/file_loader.py b/tools/modules/file_loader.py
index 249c93f..aa42140 100644
--- a/tools/modules/file_loader.py
+++ b/tools/modules/file_loader.py
@@ -7,7 +7,7 @@
from cryptography.hazmat.primitives.serialization import load_pem_private_key, Encoding, PublicFormat
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
from os.path import splitext, isfile
def _load_bin(filepath):
diff --git a/tools/modules/key_derivation.py b/tools/modules/key_derivation.py
index 07fc7d0..1885492 100644
--- a/tools/modules/key_derivation.py
+++ b/tools/modules/key_derivation.py
@@ -15,7 +15,7 @@
import struct
import argparse
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
def symmetric_kdf_sp800_108_cmac(input_key: bytes,
diff --git a/tools/modules/sign_data.py b/tools/modules/sign_data.py
index 7ef3cfb..7267348 100644
--- a/tools/modules/sign_data.py
+++ b/tools/modules/sign_data.py
@@ -17,7 +17,7 @@
import argparse
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
from arg_utils import *
def _asn1_sig_to_raw(sig : bytes , curve : ec.EllipticCurve) -> bytes:
@@ -156,7 +156,8 @@
add_arguments(parser, required=True)
args = parser.parse_args()
- logger.setLevel(args.log_level)
+ logging.getLogger("TF-M").setLevel(args.log_level)
+ logger.addHandler(logging.StreamHandler())
config = parse_args(args)
config |= parse_args_automatically(args, ["data"])
diff --git a/tools/modules/sign_then_encrypt_data.py b/tools/modules/sign_then_encrypt_data.py
index 7af18bb..fa77a82 100644
--- a/tools/modules/sign_then_encrypt_data.py
+++ b/tools/modules/sign_then_encrypt_data.py
@@ -9,7 +9,7 @@
import argparse
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
import arg_utils
import sign_data
@@ -90,4 +90,5 @@
parser.add_argument("--log_level", help="log level", required=False, default="ERROR", choices=logging._levelToName.values())
args = parser.parse_args()
- logger.setLevel(args.log_level)
+ logging.getLogger("TF-M").setLevel(args.log_level)
+ logger.addHandler(logging.StreamHandler())
diff --git a/tools/modules/struct_pack.py b/tools/modules/struct_pack.py
index fae1b0b..d701eb1 100644
--- a/tools/modules/struct_pack.py
+++ b/tools/modules/struct_pack.py
@@ -8,7 +8,7 @@
import struct
import logging
-logger = logging.getLogger("TF-M")
+logger = logging.getLogger("TF-M.{}".format(__name__))
def struct_pack(objects, pad_to=0):
defstring = "<"