From f5a4dc0c17693bd70cd3571efe39df27a4bd33f9 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Fri, 10 Nov 2023 08:50:09 -0700 Subject: bitbake: 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 (Bitbake rev: 61dac7b99ad6d2a858f85d8ed1b5524d558be6c8) Signed-off-by: Joshua Watt Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- bitbake/lib/bb/asyncrpc/serv.py | 5 ++++- bitbake/lib/bb/cooker.py | 2 +- bitbake/lib/prserv/serv.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/asyncrpc/serv.py b/bitbake/lib/bb/asyncrpc/serv.py index 5fed1730df..f0be9a6cdb 100644 --- a/bitbake/lib/bb/asyncrpc/serv.py +++ b/bitbake/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/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 9a3e32ac1b..4bf1809bc0 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/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/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index 6168eb183d..62d3b5a01c 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/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 -- cgit v1.2.3-54-g00ecf