@@ -572,13 +572,22 @@ def response_handler(resp: Response) -> Json:
572572
573573 return self ._execute (request , response_handler )
574574
575- def log_levels (self ) -> Result [Json ]:
575+ def log_levels (self , server_id : Optional [ str ] = None ) -> Result [Json ]:
576576 """Return current logging levels.
577577
578+ :param server_id: Forward log level to a specific server. This makes it
579+ easier to adjust the log levels in clusters because DB-Servers require
580+ JWT authentication whereas Coordinators also support authentication
581+ using usernames and passwords.
582+ :type server_id: str
578583 :return: Current logging levels.
579584 :rtype: dict
580585 """
581- request = Request (method = "get" , endpoint = "/_admin/log/level" )
586+ params : Params = {}
587+ if server_id is not None :
588+ params ["serverId" ] = server_id
589+
590+ request = Request (method = "get" , endpoint = "/_admin/log/level" , params = params )
582591
583592 def response_handler (resp : Response ) -> Json :
584593 if not resp .is_success :
@@ -588,7 +597,9 @@ def response_handler(resp: Response) -> Json:
588597
589598 return self ._execute (request , response_handler )
590599
591- def set_log_levels (self , ** kwargs : str ) -> Result [Json ]:
600+ def set_log_levels (
601+ self , server_id : Optional [str ] = None , ** kwargs : str
602+ ) -> Result [Json ]:
592603 """Set the logging levels.
593604
594605 This method takes arbitrary keyword arguments where the keys are the
@@ -604,10 +615,21 @@ def set_log_levels(self, **kwargs: str) -> Result[Json]:
604615
605616 Keys that are not valid logger names are ignored.
606617
618+ :param server_id: Forward log level to a specific server. This makes it
619+ easier to adjust the log levels in clusters because DB-Servers require
620+ JWT authentication whereas Coordinators also support authentication
621+ using usernames and passwords.
622+ :type server_id: str | None
607623 :return: New logging levels.
608624 :rtype: dict
609625 """
610- request = Request (method = "put" , endpoint = "/_admin/log/level" , data = kwargs )
626+ params : Params = {}
627+ if server_id is not None :
628+ params ["serverId" ] = server_id
629+
630+ request = Request (
631+ method = "put" , endpoint = "/_admin/log/level" , params = params , data = kwargs
632+ )
611633
612634 def response_handler (resp : Response ) -> Json :
613635 if not resp .is_success :
0 commit comments