mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 00:59:48 +00:00
bitbake: msg: Add helper to merge logging configs
Adds a function that can be used by UI front ends to merge logging configuration fragments. (Bitbake rev: e860d93b76c142fdae90226bc68e4fe6e7b6a9db) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c8b2694cd4
commit
361ea84d56
+21
-14
@@ -229,21 +229,10 @@ def has_console_handler(logger):
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def setLoggingConfig(defaultconfig, userconfigfile=None):
|
def mergeLoggingConfig(logconfig, userconfig):
|
||||||
logconfig = copy.deepcopy(defaultconfig)
|
logconfig = copy.deepcopy(logconfig)
|
||||||
|
userconfig = copy.deepcopy(userconfig)
|
||||||
|
|
||||||
if userconfigfile:
|
|
||||||
with open(userconfigfile, 'r') as f:
|
|
||||||
if userconfigfile.endswith('.yml') or userconfigfile.endswith('.yaml'):
|
|
||||||
import yaml
|
|
||||||
userconfig = yaml.load(f)
|
|
||||||
elif userconfigfile.endswith('.json') or userconfigfile.endswith('.cfg'):
|
|
||||||
import json
|
|
||||||
userconfig = json.load(f)
|
|
||||||
else:
|
|
||||||
raise BaseException("Unrecognized file format: %s" % userconfigfile)
|
|
||||||
|
|
||||||
if userconfig.get('bitbake_merge', True):
|
|
||||||
# Merge config with the default config
|
# Merge config with the default config
|
||||||
if userconfig.get('version') != logconfig['version']:
|
if userconfig.get('version') != logconfig['version']:
|
||||||
raise BaseException("Bad user configuration version. Expected %r, got %r" % (logconfig['version'], userconfig.get('version')))
|
raise BaseException("Bad user configuration version. Expected %r, got %r" % (logconfig['version'], userconfig.get('version')))
|
||||||
@@ -285,6 +274,24 @@ def setLoggingConfig(defaultconfig, userconfigfile=None):
|
|||||||
for name in set(userconfig["loggers"].keys()) - seen_loggers:
|
for name in set(userconfig["loggers"].keys()) - seen_loggers:
|
||||||
logconfig["loggers"][name] = userconfig["loggers"][name]
|
logconfig["loggers"][name] = userconfig["loggers"][name]
|
||||||
|
|
||||||
|
return logconfig
|
||||||
|
|
||||||
|
def setLoggingConfig(defaultconfig, userconfigfile=None):
|
||||||
|
logconfig = copy.deepcopy(defaultconfig)
|
||||||
|
|
||||||
|
if userconfigfile:
|
||||||
|
with open(userconfigfile, 'r') as f:
|
||||||
|
if userconfigfile.endswith('.yml') or userconfigfile.endswith('.yaml'):
|
||||||
|
import yaml
|
||||||
|
userconfig = yaml.load(f)
|
||||||
|
elif userconfigfile.endswith('.json') or userconfigfile.endswith('.cfg'):
|
||||||
|
import json
|
||||||
|
userconfig = json.load(f)
|
||||||
|
else:
|
||||||
|
raise BaseException("Unrecognized file format: %s" % userconfigfile)
|
||||||
|
|
||||||
|
if userconfig.get('bitbake_merge', True):
|
||||||
|
logconfig = mergeLoggingConfig(logconfig, userconfig)
|
||||||
else:
|
else:
|
||||||
# Replace the entire default config
|
# Replace the entire default config
|
||||||
logconfig = userconfig
|
logconfig = userconfig
|
||||||
|
|||||||
Reference in New Issue
Block a user