diff --git a/slack_bolt/app/app.py b/slack_bolt/app/app.py index 5b2dba6b2..7a303c88a 100644 --- a/slack_bolt/app/app.py +++ b/slack_bolt/app/app.py @@ -58,7 +58,7 @@ from slack_bolt.oauth.oauth_settings import OAuthSettings from slack_bolt.request import BoltRequest from slack_bolt.response import BoltResponse -from slack_bolt.util.utils import create_web_client +from slack_bolt.util.utils import create_web_client, get_boot_message from slack_bolt.workflows.step import WorkflowStep, WorkflowStepMiddleware @@ -926,9 +926,9 @@ def start(self) -> None: :return: None """ if self._bolt_app.logger.level > logging.INFO: - print("⚡️ Bolt app is running! (development server)") + print(get_boot_message(development_server=True)) else: - self._bolt_app.logger.info("⚡️ Bolt app is running! (development server)") + self._bolt_app.logger.info(get_boot_message(development_server=True)) try: self._server.serve_forever(0.05) diff --git a/slack_bolt/app/async_server.py b/slack_bolt/app/async_server.py index cb84c9142..6ae669098 100644 --- a/slack_bolt/app/async_server.py +++ b/slack_bolt/app/async_server.py @@ -4,6 +4,7 @@ from slack_bolt.adapter.aiohttp import to_bolt_request, to_aiohttp_response from slack_bolt.response import BoltResponse +from slack_bolt.util.utils import get_boot_message class AsyncSlackAppServer: @@ -71,8 +72,8 @@ def start(self) -> None: :return: None """ if self.bolt_app.logger.level > logging.INFO: - print("⚡️ Bolt app is running!") + print(get_boot_message()) else: - self.bolt_app.logger.info("⚡️ Bolt app is running!") + self.bolt_app.logger.info(get_boot_message()) web.run_app(self.web_app, host="0.0.0.0", port=self.port) diff --git a/slack_bolt/util/utils.py b/slack_bolt/util/utils.py index e31489f69..4cdc39190 100644 --- a/slack_bolt/util/utils.py +++ b/slack_bolt/util/utils.py @@ -39,3 +39,18 @@ def create_copy(original: Any) -> Any: return copy.copy(original) else: return copy.deepcopy(original) + + +def get_boot_message(development_server: bool = False) -> str: + if sys.platform == "win32": + # Some Windows environments may fail to parse this str value + # and result in UnicodeEncodeError + if development_server: + return "Bolt app is running! (development server)" + else: + return "Bolt app is running!" + + if development_server: + return "⚡️ Bolt app is running! (development server)" + else: + return "⚡️ Bolt app is running!"