aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2023-11-10 08:50:09 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-14 23:39:51 +0000
commit61dac7b99ad6d2a858f85d8ed1b5524d558be6c8 (patch)
tree70cf2f3f1cde0749c37f027ae7399ae1b266455e
parent89df63d967dd3091fba7943f5fe5a98e2c3871e3 (diff)
downloadbitbake-61dac7b99ad6d2a858f85d8ed1b5524d558be6c8.tar.gz
asyncrpc: Add option to set log level when running as a process
When running an asyncrpc server as a subprocess, it is often desired to run it with a lower logging level since the normal logging of clients connecting and disconnecting is not desired. As such, add an option to set the logging level of the server when running as a subprocess and set the level to WARNING when starting a local hashserver or PRserver Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--lib/bb/asyncrpc/serv.py5
-rw-r--r--lib/bb/cooker.py2
-rw-r--r--lib/prserv/serv.py2
3 files changed, 6 insertions, 3 deletions
diff --git a/lib/bb/asyncrpc/serv.py b/lib/bb/asyncrpc/serv.py
index 5fed1730d..f0be9a6cd 100644
--- a/lib/bb/asyncrpc/serv.py
+++ b/lib/bb/asyncrpc/serv.py
@@ -322,7 +322,7 @@ class AsyncServer(object):
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.loop)
- def serve_as_process(self, *, prefunc=None, args=()):
+ def serve_as_process(self, *, prefunc=None, args=(), log_level=None):
"""
Serve requests in a child process
"""
@@ -351,6 +351,9 @@ class AsyncServer(object):
if prefunc is not None:
prefunc(self, *args)
+ if log_level is not None:
+ self.logger.setLevel(log_level)
+
self._serve_forever(tasks)
if sys.version_info >= (3, 6):
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 9a3e32ac1..4bf1809bc 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -345,7 +345,7 @@ class BBCooker:
sync=False,
upstream=upstream,
)
- self.hashserv.serve_as_process()
+ self.hashserv.serve_as_process(log_level=logging.WARNING)
for mc in self.databuilder.mcdata:
self.databuilder.mcorigdata[mc].setVar("BB_HASHSERVE", self.hashservaddr)
self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.hashservaddr)
diff --git a/lib/prserv/serv.py b/lib/prserv/serv.py
index 6168eb183..62d3b5a01 100644
--- a/lib/prserv/serv.py
+++ b/lib/prserv/serv.py
@@ -130,7 +130,7 @@ class PRServSingleton(object):
def start(self):
self.prserv = PRServer(self.dbfile)
self.prserv.start_tcp_server(socket.gethostbyname(self.host), self.port)
- self.process = self.prserv.serve_as_process()
+ self.process = self.prserv.serve_as_process(log_level=logging.WARNING)
if not self.prserv.address:
raise PRServiceConfigError