diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-03-27 13:17:27 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-27 20:23:19 +0100 |
commit | 614cbeddc8f092bf2748ae7555d62467f3c45f16 (patch) | |
tree | e514a07f2b452a9314461798e0b86e3f0b0ca682 | |
parent | f41740ee8ee91a57f22ce7fa2a4b8ceeea78de0d (diff) | |
download | poky-614cbeddc8f092bf2748ae7555d62467f3c45f16.tar.gz |
bitbake: lib/bb/msg: introduce logger_create() function
We use this code to set up a logger with colour in a number of different
places, so create one function that does this and make some of bitbake's
utility scripts use it.
(Bitbake rev: b1ba7d1cc8ec33e2d081230287abd07f52136097)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-x | bitbake/bin/bitbake-diffsigs | 14 | ||||
-rwxr-xr-x | bitbake/bin/bitbake-dumpsig | 14 | ||||
-rwxr-xr-x | bitbake/bin/bitbake-layers | 25 | ||||
-rw-r--r-- | bitbake/lib/bb/msg.py | 15 |
4 files changed, 24 insertions, 44 deletions
diff --git a/bitbake/bin/bitbake-diffsigs b/bitbake/bin/bitbake-diffsigs index c087f99bc5..1e3de092af 100755 --- a/bitbake/bin/bitbake-diffsigs +++ b/bitbake/bin/bitbake-diffsigs | |||
@@ -30,19 +30,9 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), ' | |||
30 | 30 | ||
31 | import bb.tinfoil | 31 | import bb.tinfoil |
32 | import bb.siggen | 32 | import bb.siggen |
33 | import bb.msg | ||
33 | 34 | ||
34 | def logger_create(name, output=sys.stderr): | 35 | logger = bb.msg.logger_create('bitbake-diffsigs') |
35 | logger = logging.getLogger(name) | ||
36 | console = logging.StreamHandler(output) | ||
37 | format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") | ||
38 | if output.isatty(): | ||
39 | format.enable_color() | ||
40 | console.setFormatter(format) | ||
41 | logger.addHandler(console) | ||
42 | logger.setLevel(logging.INFO) | ||
43 | return logger | ||
44 | |||
45 | logger = logger_create('bitbake-diffsigs') | ||
46 | 36 | ||
47 | def find_compare_task(bbhandler, pn, taskname): | 37 | def find_compare_task(bbhandler, pn, taskname): |
48 | """ Find the most recent signature files for the specified PN/task and compare them """ | 38 | """ Find the most recent signature files for the specified PN/task and compare them """ |
diff --git a/bitbake/bin/bitbake-dumpsig b/bitbake/bin/bitbake-dumpsig index 38efd22864..95ebd93546 100755 --- a/bitbake/bin/bitbake-dumpsig +++ b/bitbake/bin/bitbake-dumpsig | |||
@@ -29,19 +29,9 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), ' | |||
29 | 29 | ||
30 | import bb.tinfoil | 30 | import bb.tinfoil |
31 | import bb.siggen | 31 | import bb.siggen |
32 | import bb.msg | ||
32 | 33 | ||
33 | def logger_create(name, output=sys.stderr): | 34 | logger = bb.msg.logger_create('bitbake-dumpsig') |
34 | logger = logging.getLogger(name) | ||
35 | console = logging.StreamHandler(output) | ||
36 | format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") | ||
37 | if output.isatty(): | ||
38 | format.enable_color() | ||
39 | console.setFormatter(format) | ||
40 | logger.addHandler(console) | ||
41 | logger.setLevel(logging.INFO) | ||
42 | return logger | ||
43 | |||
44 | logger = logger_create('bitbake-dumpsig') | ||
45 | 35 | ||
46 | def find_siginfo_task(bbhandler, pn, taskname): | 36 | def find_siginfo_task(bbhandler, pn, taskname): |
47 | """ Find the most recent signature file for the specified PN/task """ | 37 | """ Find the most recent signature file for the specified PN/task """ |
diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers index 66fc7ca21f..390ad0503d 100755 --- a/bitbake/bin/bitbake-layers +++ b/bitbake/bin/bitbake-layers | |||
@@ -30,26 +30,9 @@ topdir = os.path.dirname(bindir) | |||
30 | sys.path[0:0] = [os.path.join(topdir, 'lib')] | 30 | sys.path[0:0] = [os.path.join(topdir, 'lib')] |
31 | 31 | ||
32 | import bb.tinfoil | 32 | import bb.tinfoil |
33 | import bb.msg | ||
33 | 34 | ||
34 | def logger_create(name, output=sys.stderr): | 35 | logger = bb.msg.logger_create('bitbake-layers', sys.stdout) |
35 | logger = logging.getLogger(name) | ||
36 | loggerhandler = logging.StreamHandler(output) | ||
37 | loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) | ||
38 | logger.addHandler(loggerhandler) | ||
39 | logger.setLevel(logging.INFO) | ||
40 | return logger | ||
41 | |||
42 | def logger_setup_color(logger, color='auto'): | ||
43 | from bb.msg import BBLogFormatter | ||
44 | console = logging.StreamHandler(sys.stdout) | ||
45 | formatter = BBLogFormatter("%(levelname)s: %(message)s") | ||
46 | console.setFormatter(formatter) | ||
47 | logger.handlers = [console] | ||
48 | if color == 'always' or (color == 'auto' and console.stream.isatty()): | ||
49 | formatter.enable_color() | ||
50 | |||
51 | |||
52 | logger = logger_create('bitbake-layers', sys.stdout) | ||
53 | 36 | ||
54 | def main(): | 37 | def main(): |
55 | parser = argparse.ArgumentParser( | 38 | parser = argparse.ArgumentParser( |
@@ -74,7 +57,9 @@ def main(): | |||
74 | elif global_args.quiet: | 57 | elif global_args.quiet: |
75 | logger.setLevel(logging.ERROR) | 58 | logger.setLevel(logging.ERROR) |
76 | 59 | ||
77 | logger_setup_color(logger, global_args.color) | 60 | # Need to re-run logger_create with color argument |
61 | # (will be the same logger since it has the same name) | ||
62 | bb.msg.logger_create('bitbake-layers', output=sys.stdout, color=global_args.color) | ||
78 | 63 | ||
79 | plugins = [] | 64 | plugins = [] |
80 | tinfoil = bb.tinfoil.Tinfoil(tracking=True) | 65 | tinfoil = bb.tinfoil.Tinfoil(tracking=True) |
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py index b7c39fa133..90b158238f 100644 --- a/bitbake/lib/bb/msg.py +++ b/bitbake/lib/bb/msg.py | |||
@@ -201,3 +201,18 @@ def fatal(msgdomain, msg): | |||
201 | logger = logging.getLogger("BitBake") | 201 | logger = logging.getLogger("BitBake") |
202 | logger.critical(msg) | 202 | logger.critical(msg) |
203 | sys.exit(1) | 203 | sys.exit(1) |
204 | |||
205 | def logger_create(name, output=sys.stderr, level=logging.INFO, preserve_handlers=False, color='auto'): | ||
206 | """Standalone logger creation function""" | ||
207 | logger = logging.getLogger(name) | ||
208 | console = logging.StreamHandler(output) | ||
209 | format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") | ||
210 | if color == 'always' or (color == 'auto' and output.isatty()): | ||
211 | format.enable_color() | ||
212 | console.setFormatter(format) | ||
213 | if preserve_handlers: | ||
214 | logger.addHandler(console) | ||
215 | else: | ||
216 | logger.handlers = [console] | ||
217 | logger.setLevel(level) | ||
218 | return logger | ||