summaryrefslogtreecommitdiffstats
path: root/bitbake/bin/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-12 23:24:43 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-15 09:14:28 +0100
commit7ee93b206a6389e6eb7b9440dc2fae801c77bc9b (patch)
tree6700acff792125542187590c5633c61c29b1005b /bitbake/bin/bitbake
parentfce0b963b437c5b0660dca6f5b0a099e4befa03c (diff)
downloadpoky-7ee93b206a6389e6eb7b9440dc2fae801c77bc9b.tar.gz
bitbake/logging: Overhaul internal logging process
At the moment it bugs me a lot that we only have one effective logging level for bitbake, despite the logging module having provision to do more advanced things. This patch: * Changes the core log level to the lowest level we have messages of (DEBUG-2) so messages always flow through the core logger * Allows build.py's task logging code to log all the output regardless of what output is on the console and sets this so log files now always contain debug level messages even if these don't appear on the console * Moves the verbose/debug/debug-domains code to be a UI side setting * Adds a filter to the UI to only print the user requested output. The result is more complete logfiles on disk but the usual output to the console. There are some behaviour changes intentionally made by this patch: a) the -v option now controls whether output is tee'd to the console. Ultimately, we likely want to output a message to the user about where the log file is and avoid placing output directly onto the console for every executing task. b) The functions get_debug_levels, the debug_levels variable, the set_debug_levels, the set_verbosity and set_debug_domains functions are removed from bb.msg. c) The "logging" init function changes format. d) All messages get fired to all handlers all the time leading to an increase in inter-process traffic. This could likely be hacked around short term with a function for a UI to only request events greater than level X. Longer term, having masks for event handlers would be better. e) logger.getEffectiveLevel() is no longer a reliable guide to what will/won't get logged so for now we look at the default log levels instead. [YOCTO #304] (Bitbake rev: 45aad2f9647df14bcfa5e755b57e1ddab377939a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/bin/bitbake')
-rwxr-xr-xbitbake/bin/bitbake3
1 files changed, 2 insertions, 1 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index fdeeb36a40..56f39f8efe 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -190,7 +190,7 @@ Default BBFILES are the .bb files in the current directory.""")
190 # server is daemonized this logfile will be truncated. 190 # server is daemonized this logfile will be truncated.
191 cooker_logfile = os.path.join(os.getcwd(), "cooker.log") 191 cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
192 192
193 bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug, 193 bb.msg.init_msgconfig(configuration.verbose, configuration.debug,
194 configuration.debug_domains) 194 configuration.debug_domains)
195 195
196 # Ensure logging messages get sent to the UI as events 196 # Ensure logging messages get sent to the UI as events
@@ -228,6 +228,7 @@ Default BBFILES are the .bb files in the current directory.""")
228 try: 228 try:
229 return server.launchUI(ui_main, server_connection.connection, server_connection.events) 229 return server.launchUI(ui_main, server_connection.connection, server_connection.events)
230 finally: 230 finally:
231 bb.event.ui_queue = []
231 server_connection.terminate() 232 server_connection.terminate()
232 233
233 return 1 234 return 1