Skip to content

Commit fc8cc77

Browse files
Use named loggers in Python (#1157)
1 parent ad6d723 commit fc8cc77

File tree

12 files changed

+144
-107
lines changed

12 files changed

+144
-107
lines changed

sdk/python/packages/flet-core/src/flet_core/local_connection.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import logging
22
from typing import List
33

4+
import flet_core
45
from flet_core.connection import Connection
56
from flet_core.protocol import *
67

8+
logger = logging.getLogger(flet_core.__name__)
9+
710

811
class LocalConnection(Connection):
912
def __init__(self):
@@ -71,7 +74,7 @@ def _create_update_control_props_handler_arg(self, msg: ClientMessage):
7174
)
7275

7376
def _process_command(self, command: Command):
74-
logging.debug("_process_command: {}".format(command))
77+
logger.debug("_process_command: {}".format(command))
7578
if command.name == "get":
7679
return self._process_get_command(command.values)
7780
elif command.name == "add":

sdk/python/packages/flet-core/src/flet_core/page.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from typing import Any, Dict, List, Optional, Tuple, Union, cast
99
from urllib.parse import urlparse
1010

11+
import flet_core
1112
from flet_core.app_bar import AppBar
1213
from flet_core.banner import Banner
1314
from flet_core.client_storage import ClientStorage
@@ -37,6 +38,9 @@
3738
from flet_core.utils import is_asyncio, is_coroutine
3839
from flet_core.view import View
3940

41+
logger = logging.getLogger(flet_core.__name__)
42+
43+
4044
try:
4145
from flet.auth.authorization import Authorization
4246
from flet.auth.oauth_provider import OAuthProvider
@@ -429,7 +433,7 @@ async def error_async(self, message=""):
429433
await self._send_command_async("error", [message])
430434

431435
def on_event(self, e: Event):
432-
logging.info(f"page.on_event: {e.target} {e.name} {e.data}")
436+
logger.info(f"page.on_event: {e.target} {e.name} {e.data}")
433437
with self.__lock:
434438
if e.target == "page" and e.name == "change":
435439
self.__on_page_change_event(e.data)
@@ -442,7 +446,7 @@ def on_event(self, e: Event):
442446
t.start()
443447

444448
async def on_event_async(self, e: Event):
445-
logging.info(f"page.on_event_async: {e.target} {e.name} {e.data}")
449+
logger.info(f"page.on_event_async: {e.target} {e.name} {e.data}")
446450

447451
if e.target == "page" and e.name == "change":
448452
async with self.__async_lock:

sdk/python/packages/flet-pyodide/src/flet/flet.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22
import traceback
33

4+
import flet
45
import flet_js
56
from flet.pyodide_connection import PyodideConnection
67
from flet_core.event import Event
@@ -17,6 +18,9 @@
1718
FLET_APP_HIDDEN = "flet_app_hidden"
1819

1920

21+
logger = logging.getLogger(flet.__name__)
22+
23+
2024
def app(
2125
target,
2226
name="",
@@ -61,14 +65,14 @@ async def on_event(e):
6165
Event(e.eventTarget, e.eventName, e.eventData)
6266
)
6367
if e.eventTarget == "page" and e.eventName == "close":
64-
logging.info(f"Session closed: {e.sessionID}")
68+
logger.info(f"Session closed: {e.sessionID}")
6569
del conn.sessions[e.sessionID]
6670

6771
async def on_session_created(session_data):
6872
page = Page(conn, session_data.sessionID)
6973
await page.fetch_page_details_async()
7074
conn.sessions[session_data.sessionID] = page
71-
logging.info(f"Session started: {session_data.sessionID}")
75+
logger.info(f"Session started: {session_data.sessionID}")
7276
try:
7377
assert target is not None
7478
if is_coroutine(target):

sdk/python/packages/flet-pyodide/src/flet/pyodide_connection.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
from typing import List
55

6+
import flet
67
import flet_js
78
import js
89
from flet_core.local_connection import LocalConnection
@@ -16,6 +17,8 @@
1617
RegisterWebClientRequestPayload,
1718
)
1819

20+
logger = logging.getLogger(flet.__name__)
21+
1922

2023
class PyodideConnection(LocalConnection):
2124
def __init__(
@@ -30,7 +33,7 @@ def __init__(
3033
flet_js.start_connection = self.connect
3134

3235
async def connect(self, send_callback):
33-
logging.info("Starting Pyodide connection...")
36+
logger.info("Starting Pyodide connection...")
3437
self.page_url = flet_js.documentUrl
3538
self.send_callback = send_callback
3639
asyncio.create_task(self.receive_loop())
@@ -42,11 +45,11 @@ async def receive_loop(self):
4245
await self.__on_message(message)
4346

4447
def send_from_js(self, message: str):
45-
logging.debug(f"Sending data from JavaScript to Python: {message}")
48+
logger.debug(f"Sending data from JavaScript to Python: {message}")
4649
self.__receive_queue.put_nowait(message)
4750

4851
async def __on_message(self, data: str):
49-
logging.debug(f"_on_message: {data}")
52+
logger.debug(f"_on_message: {data}")
5053
msg_dict = json.loads(data)
5154
msg = ClientMessage(**msg_dict)
5255
if msg.action == ClientActions.REGISTER_WEB_CLIENT:
@@ -103,5 +106,5 @@ def send_commands(self, session_id: str, commands: List[Command]):
103106

104107
def __send(self, message: ClientMessage):
105108
j = json.dumps(message, cls=CommandEncoder, separators=(",", ":"))
106-
logging.debug(f"__send: {j}")
109+
logger.debug(f"__send: {j}")
107110
self.send_callback(j)
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import logging
22
import os
33

4-
logging.info("Running PyInstaller runtime hook for Flet...")
4+
import flet
5+
6+
logger = logging.getLogger(flet.__name__)
7+
8+
9+
logger.info("Running PyInstaller runtime hook for Flet...")
510

611
os.environ["FLET_SERVER_IP"] = "127.0.0.1"

sdk/python/packages/flet/src/flet/async_local_socket_connection.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
import json
33
import logging
44
import os
5-
import socket
65
import struct
76
import tempfile
8-
import threading
97
from pathlib import Path
108
from typing import List, Optional
119

10+
import flet
1211
from flet.utils import get_free_tcp_port, is_windows
1312
from flet_core.local_connection import LocalConnection
1413
from flet_core.protocol import (
@@ -22,6 +21,8 @@
2221
)
2322
from flet_core.utils import random_string
2423

24+
logger = logging.getLogger(flet.__name__)
25+
2526

2627
class AsyncLocalSocketConnection(LocalConnection):
2728
def __init__(
@@ -45,7 +46,7 @@ async def connect(self):
4546
host = "localhost"
4647
port = self.__port if self.__port > 0 else get_free_tcp_port()
4748
self.page_url = f"tcp://{host}:{port}"
48-
logging.info(f"Starting up TCP server on {host}:{port}")
49+
logger.info(f"Starting up TCP server on {host}:{port}")
4950
server = await asyncio.start_server(self.handle_connection, host, port)
5051
self.__server = asyncio.create_task(server.serve_forever())
5152
else:
@@ -55,7 +56,7 @@ async def connect(self):
5556
Path(tempfile.gettempdir()).joinpath(random_string(10))
5657
)
5758
self.page_url = self.__uds_path
58-
logging.info(f"Starting up UDS server on {self.__uds_path}")
59+
logger.info(f"Starting up UDS server on {self.__uds_path}")
5960
server = await asyncio.start_unix_server(
6061
self.handle_connection, self.__uds_path
6162
)
@@ -66,7 +67,7 @@ async def handle_connection(
6667
):
6768
if not self.__connected:
6869
self.__connected = True
69-
logging.debug("Connected new TCP client")
70+
logger.debug("Connected new TCP client")
7071
self.__receive_loop_task = asyncio.create_task(self.__receive_loop(reader))
7172
self.__send_loop_task = asyncio.create_task(self.__send_loop(writer))
7273

@@ -92,14 +93,14 @@ async def __send_loop(self, writer: asyncio.StreamWriter):
9293
msg = struct.pack(">I", len(data)) + data
9394
writer.write(msg)
9495
# await writer.drain()
95-
logging.debug("sent to TCP: {}".format(len(msg)))
96+
logger.debug("sent to TCP: {}".format(len(msg)))
9697
except:
9798
# re-enqueue the message to repeat it when re-connected
9899
self.__send_queue.put_nowait(message)
99100
raise
100101

101102
async def __on_message(self, data: str):
102-
logging.debug(f"_on_message: {data}")
103+
logger.debug(f"_on_message: {data}")
103104
msg_dict = json.loads(data)
104105
msg = ClientMessage(**msg_dict)
105106
if msg.action == ClientActions.REGISTER_WEB_CLIENT:
@@ -152,11 +153,11 @@ async def send_commands_async(self, session_id: str, commands: List[Command]):
152153

153154
async def __send(self, message: ClientMessage):
154155
j = json.dumps(message, cls=CommandEncoder, separators=(",", ":"))
155-
logging.debug(f"__send: {j}")
156+
logger.debug(f"__send: {j}")
156157
await self.__send_queue.put(j)
157158

158159
async def close(self):
159-
logging.debug("Closing connection...")
160+
logger.debug("Closing connection...")
160161
# close socket
161162
if self.__receive_loop_task:
162163
self.__receive_loop_task.cancel()

sdk/python/packages/flet/src/flet/async_websocket_connection.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from asyncio.queues import Queue
66
from typing import List, Optional
77

8+
import flet
89
import websockets.client as ws_client
910
from flet import constants
1011
from flet_core.connection import Connection
@@ -24,6 +25,8 @@
2425
)
2526
from websockets.client import WebSocketClientProtocol
2627

28+
logger = logging.getLogger(flet.__name__)
29+
2730

2831
class AsyncWebSocketConnection(Connection):
2932
__CONNECT_TIMEOUT = 0.2
@@ -50,22 +53,22 @@ def __init__(
5053

5154
async def connect(self):
5255
ws_url = self._get_ws_url(self.__server_address)
53-
logging.debug(f"Connecting via WebSockets to {ws_url}...")
56+
logger.debug(f"Connecting via WebSockets to {ws_url}...")
5457

5558
attempt = self.__CONNECT_ATTEMPTS
5659
while True:
5760
try:
5861
self.__ws: WebSocketClientProtocol = await ws_client.connect(ws_url)
5962
break
6063
except Exception as e:
61-
logging.debug(f"Error connecting to Flet server: {e}")
64+
logger.debug(f"Error connecting to Flet server: {e}")
6265
if attempt == 0 and not self.__is_reconnecting:
6366
raise Exception(
6467
f"Failed to connect Flet server in {self.__CONNECT_ATTEMPTS} attempts."
6568
)
6669
attempt -= 1
6770
await asyncio.sleep(self.__CONNECT_TIMEOUT)
68-
logging.debug(f"Connected to Flet server {self.__server_address}")
71+
logger.debug(f"Connected to Flet server {self.__server_address}")
6972
self.__is_reconnecting = True
7073

7174
# start send/receive loops
@@ -104,19 +107,19 @@ async def __start_loops(self):
104107
name = task.get_name()
105108
exception = task.exception()
106109
if isinstance(exception, Exception):
107-
logging.error(f"{name} threw {exception}")
110+
logger.error(f"{name} threw {exception}")
108111
failed = True
109112
for task in pending:
110113
task.cancel()
111114

112115
# re-connect if one of tasks failed
113116
if failed:
114-
logging.debug(f"Re-connecting to Flet server in 1 second")
117+
logger.debug(f"Re-connecting to Flet server in 1 second")
115118
await asyncio.sleep(self.__CONNECT_TIMEOUT)
116119
await self.connect()
117120

118121
async def __on_ws_message(self, data):
119-
logging.debug(f"_on_message: {data}")
122+
logger.debug(f"_on_message: {data}")
120123
msg_dict = json.loads(data)
121124
msg = Message(**msg_dict)
122125
if msg.id:
@@ -176,15 +179,15 @@ async def _send_message_with_result(self, action_name, payload):
176179
msg_id = uuid.uuid4().hex
177180
msg = Message(msg_id, action_name, payload)
178181
j = json.dumps(msg, cls=CommandEncoder, separators=(",", ":"))
179-
logging.debug(f"_send_message_with_result: {j}")
182+
logger.debug(f"_send_message_with_result: {j}")
180183
evt = asyncio.Event()
181184
self.__ws_callbacks[msg_id] = (evt, None)
182185
await self.__send_queue.put(j)
183186
await evt.wait()
184187
return self.__ws_callbacks.pop(msg_id)[1]
185188

186189
async def close(self):
187-
logging.debug("Closing WebSockets connection...")
190+
logger.debug("Closing WebSockets connection...")
188191
if self.__receive_loop_task:
189192
self.__receive_loop_task.cancel()
190193
if self.__send_loop_task:

0 commit comments

Comments
 (0)