55import time
66from concurrent .futures .thread import ThreadPoolExecutor
77from http .server import SimpleHTTPRequestHandler , HTTPServer
8- from typing import List , Union , Pattern , Callable , Dict , Optional , Sequence
8+ from typing import List , Union , Pattern , Callable , Dict , Optional , Sequence , Any
99
1010from slack_sdk .errors import SlackApiError
1111from slack_sdk .oauth .installation_store import InstallationStore
@@ -415,7 +415,12 @@ def process_before_response(self) -> bool:
415415 # -------------------------
416416 # standalone server
417417
418- def start (self , port : int = 3000 , path : str = "/slack/events" ) -> None :
418+ def start (
419+ self ,
420+ port : int = 3000 ,
421+ path : str = "/slack/events" ,
422+ http_server_logger_enabled : bool = True ,
423+ ) -> None :
419424 """Starts a web server for local development.
420425
421426 # With the default settings, `http://localhost:3000/slack/events`
@@ -428,12 +433,14 @@ def start(self, port: int = 3000, path: str = "/slack/events") -> None:
428433 Args:
429434 port: The port to listen on (Default: 3000)
430435 path: The path to handle request from Slack (Default: `/slack/events`)
436+ http_server_logger_enabled: The flag to enable http.server logging if True (Default: True)
431437 """
432438 self ._development_server = SlackAppDevelopmentServer (
433439 port = port ,
434440 path = path ,
435441 app = self ,
436442 oauth_flow = self .oauth_flow ,
443+ http_server_logger_enabled = http_server_logger_enabled ,
437444 )
438445 self ._development_server .start ()
439446
@@ -1309,6 +1316,7 @@ def __init__(
13091316 path : str ,
13101317 app : App ,
13111318 oauth_flow : Optional [OAuthFlow ] = None ,
1319+ http_server_logger_enabled : bool = True ,
13121320 ):
13131321 """Slack App Development Server
13141322
@@ -1325,18 +1333,25 @@ def __init__(
13251333 path: the path to receive incoming requests
13261334 app: the `App` instance to execute
13271335 oauth_flow: the `OAuthFlow` instance to use for OAuth flow
1336+ http_server_logger_enabled: The flag to turn on/off http.server's logging
13281337 """
13291338 self ._port : int = port
13301339 self ._bolt_endpoint_path : str = path
13311340 self ._bolt_app : App = app
13321341 self ._bolt_oauth_flow : Optional [OAuthFlow ] = oauth_flow
1342+ self ._http_server_logger_enabled = http_server_logger_enabled
13331343
13341344 _port : int = self ._port
13351345 _bolt_endpoint_path : str = self ._bolt_endpoint_path
13361346 _bolt_app : App = self ._bolt_app
13371347 _bolt_oauth_flow : Optional [OAuthFlow ] = self ._bolt_oauth_flow
1348+ _http_server_logger_enabled = self ._http_server_logger_enabled
13381349
13391350 class SlackAppHandler (SimpleHTTPRequestHandler ):
1351+ def log_message (self , format : str , * args : Any ) -> None :
1352+ if _http_server_logger_enabled is True :
1353+ super ().log_message (format , * args )
1354+
13401355 def do_GET (self ):
13411356 if _bolt_oauth_flow :
13421357 request_path , _ , query = self .path .partition ("?" )
0 commit comments