From eea264ead3ca198ed66f62a78dc4940075621ae7 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 8 Jul 2019 14:25:49 -0600 Subject: [PATCH] binman: Allow for logging information to be displayed Binman generally operates silently but in some cases it is useful to see what Binman is actually doing at each step. Enable some logging output with different logging levels selectable via the -v flag. Signed-off-by: Simon Glass --- tools/binman/README | 19 ++++++++++++++++++- tools/binman/entry.py | 3 ++- tools/binman/image.py | 3 ++- tools/patman/tout.py | 10 +++++++++- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/tools/binman/README b/tools/binman/README index 146e0fd..1655a9d 100644 --- a/tools/binman/README +++ b/tools/binman/README @@ -533,6 +533,24 @@ or with wildcards: image-header bf8 8 image-header bf8 +Logging +------- + +Binman normally operates silently unless there is an error, in which case it +just displays the error. The -D/--debug option can be used to create a full +backtrace when errors occur. + +Internally binman logs some output while it is running. This can be displayed +by increasing the -v/--verbosity from the default of 1: + + 0: silent + 1: warnings only + 2: notices (important messages) + 3: info about major operations + 4: detailed information about each operation + 5: debug (all output) + + Hashing Entries --------------- @@ -868,7 +886,6 @@ Some ideas: - Add an option to decode an image into the constituent binaries - Support building an image for a board (-b) more completely, with a configurable build directory -- Support logging of binman's operations, with different levels of verbosity - Support updating binaries in an image (with no size change / repacking) - Support updating binaries in an image (with repacking) - Support adding FITs to an image diff --git a/tools/binman/entry.py b/tools/binman/entry.py index c45a2fd..33d3f1e 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -23,6 +23,7 @@ import sys import fdt_util import state import tools +import tout modules = {} @@ -272,7 +273,7 @@ class Entry(object): new_size = len(data) if state.AllowEntryExpansion(): if new_size > self.contents_size: - print("Entry '%s' size change from %#x to %#x" % ( + tout.Debug("Entry '%s' size change from %#x to %#x" % ( self._node.path, self.contents_size, new_size)) # self.data will indicate the new size needed size_ok = False diff --git a/tools/binman/image.py b/tools/binman/image.py index 2c5668e..bbb5e23 100644 --- a/tools/binman/image.py +++ b/tools/binman/image.py @@ -20,6 +20,7 @@ from etype import section import fdt import fdt_util import tools +import tout class Image(section.Entry_section): """A Image, representing an output from binman @@ -107,7 +108,7 @@ class Image(section.Entry_section): for entry in self._entries.values(): if not entry.ProcessContents(): sizes_ok = False - print("Entry '%s' size change" % self._node.path) + tout.Debug("Entry '%s' size change" % self._node.path) return sizes_ok def WriteSymbols(self): diff --git a/tools/patman/tout.py b/tools/patman/tout.py index 4957c7a..15acce2 100644 --- a/tools/patman/tout.py +++ b/tools/patman/tout.py @@ -131,13 +131,21 @@ def Info(msg): """ _Output(3, msg) +def Detail(msg): + """Display a detailed message + + Args: + msg; Message to display. + """ + _Output(4, msg) + def Debug(msg): """Display a debug message Args: msg; Message to display. """ - _Output(4, msg) + _Output(5, msg) def UserOutput(msg): """Display a message regardless of the current output level. -- 2.7.4