summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/msg.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/msg.py')
-rw-r--r--bitbake/lib/bb/msg.py108
1 files changed, 62 insertions, 46 deletions
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 3fcf7091be..cea5efb5a4 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -22,26 +22,32 @@ Message handling infrastructure for bitbake
22# with this program; if not, write to the Free Software Foundation, Inc., 22# with this program; if not, write to the Free Software Foundation, Inc.,
23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 23# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 24
25import sys, bb 25import sys
26from bb import event 26import collections
27 27import bb
28debug_level = {} 28import bb.event
29 29
30debug_level = collections.defaultdict(lambda: 0)
30verbose = False 31verbose = False
31 32
32domain = bb.utils.Enum( 33def _NamedTuple(name, fields):
33 'Build', 34 Tuple = collections.namedtuple(name, " ".join(fields))
34 'Cache', 35 return Tuple(*range(len(fields)))
35 'Collection', 36
36 'Data', 37domain = _NamedTuple("Domain", (
37 'Depends', 38 "Default",
38 'Fetcher', 39 "Build",
39 'Parsing', 40 "Cache",
40 'PersistData', 41 "Collection",
41 'Provider', 42 "Data",
42 'RunQueue', 43 "Depends",
43 'TaskData', 44 "Fetcher",
44 'Util') 45 "Parsing",
46 "PersistData",
47 "Provider",
48 "RunQueue",
49 "TaskData",
50 "Util"))
45 51
46 52
47class MsgBase(bb.event.Event): 53class MsgBase(bb.event.Event):
@@ -49,7 +55,7 @@ class MsgBase(bb.event.Event):
49 55
50 def __init__(self, msg): 56 def __init__(self, msg):
51 self._message = msg 57 self._message = msg
52 event.Event.__init__(self) 58 bb.event.Event.__init__(self)
53 59
54class MsgDebug(MsgBase): 60class MsgDebug(MsgBase):
55 """Debug Message""" 61 """Debug Message"""
@@ -74,52 +80,62 @@ class MsgPlain(MsgBase):
74# 80#
75 81
76def set_debug_level(level): 82def set_debug_level(level):
77 bb.msg.debug_level = {} 83 for d in domain:
78 for domain in bb.msg.domain: 84 debug_level[d] = level
79 bb.msg.debug_level[domain] = level 85 debug_level[domain.Default] = level
80 bb.msg.debug_level['default'] = level 86
87def get_debug_level(msgdomain = domain.Default):
88 return debug_level[msgdomain]
81 89
82def set_verbose(level): 90def set_verbose(level):
83 bb.msg.verbose = level 91 verbose = level
84 92
85def set_debug_domains(domains): 93def set_debug_domains(strdomains):
86 for domain in domains: 94 for domainstr in strdomains:
87 found = False 95 for d in domain:
88 for ddomain in bb.msg.domain: 96 if domain._fields[d] == domainstr:
89 if domain == str(ddomain): 97 debug_level[d] += 1
90 bb.msg.debug_level[ddomain] = bb.msg.debug_level[ddomain] + 1 98 break
91 found = True 99 else:
92 if not found: 100 warn(None, "Logging domain %s is not valid, ignoring" % domainstr)
93 bb.msg.warn(None, "Logging domain %s is not valid, ignoring" % domain)
94 101
95# 102#
96# Message handling functions 103# Message handling functions
97# 104#
98 105
99def debug(level, domain, msg, fn = None): 106def debug(level, msgdomain, msg, fn = None):
100 if not domain: 107 if not msgdomain:
101 domain = 'default' 108 msgdomain = domain.Default
102 if debug_level[domain] >= level: 109
110 if debug_level[msgdomain] >= level:
103 bb.event.fire(MsgDebug(msg), None) 111 bb.event.fire(MsgDebug(msg), None)
112 if not bb.event._ui_handlers:
113 print('DEBUG: ' + msg)
114
115def note(level, msgdomain, msg, fn = None):
116 if not msgdomain:
117 msgdomain = domain.Default
104 118
105def note(level, domain, msg, fn = None): 119 if level == 1 or verbose or debug_level[msgdomain] >= 1:
106 if not domain:
107 domain = 'default'
108 if level == 1 or verbose or debug_level[domain] >= 1:
109 bb.event.fire(MsgNote(msg), None) 120 bb.event.fire(MsgNote(msg), None)
121 if not bb.event._ui_handlers:
122 print('NOTE: ' + msg)
110 123
111def warn(domain, msg, fn = None): 124def warn(msgdomain, msg, fn = None):
112 bb.event.fire(MsgWarn(msg), None) 125 bb.event.fire(MsgWarn(msg), None)
126 if not bb.event._ui_handlers:
127 print('WARNING: ' + msg)
113 128
114def error(domain, msg, fn = None): 129def error(msgdomain, msg, fn = None):
115 bb.event.fire(MsgError(msg), None) 130 bb.event.fire(MsgError(msg), None)
116 print 'ERROR: ' + msg 131 print 'ERROR: ' + msg
117 132
118def fatal(domain, msg, fn = None): 133def fatal(msgdomain, msg, fn = None):
119 bb.event.fire(MsgFatal(msg), None) 134 bb.event.fire(MsgFatal(msg), None)
120 print 'FATAL: ' + msg 135 print('FATAL: ' + msg)
121 sys.exit(1) 136 sys.exit(1)
122 137
123def plain(msg, fn = None): 138def plain(msg, fn = None):
124 bb.event.fire(MsgPlain(msg), None) 139 bb.event.fire(MsgPlain(msg), None)
125 140 if not bb.event._ui_handlers:
141 print(msg)