Skip to content

Commit 20dcddb

Browse files
committed
Added option to separately log proxy to aid in debugging scenarios.
1 parent ef72060 commit 20dcddb

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

src/protocol_proxy/proxy/launch.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import logging
2+
from os import environ
23
import sys
34

45
from argparse import ArgumentParser
56
from asyncio import iscoroutinefunction, run
67
from typing import Callable
78
from uuid import UUID
89

10+
optional_log_params = {'filename': proxy_log} if (proxy_log := environ.get('PROTOCOL_PROXY_LOG')) else {}
911
logging.basicConfig(
1012
level=logging.DEBUG, stream=sys.stdout,
11-
format='{"name": "%(name)s", "lineno": "%(lineno)d", "level": "%(levelname)s", "message": "%(message)s"}'
13+
format='{"name": "%(name)s", "lineno": "%(lineno)d", "level": "%(levelname)s", "message": "%(message)s"}',
14+
**optional_log_params
1215
)
1316
_log = logging.getLogger(__name__)
1417

@@ -30,12 +33,16 @@ def proxy_command_parser(parser: ArgumentParser = None):
3033
return parser
3134

3235
def launch(launcher_func: Callable):
33-
parser = proxy_command_parser()
34-
parser, proxy_runner = launcher_func(parser)
35-
opts = parser.parse_args()
36-
proxy_token = UUID(hex=sys.stdin.buffer.read(32).decode('utf8'))
37-
manager_token = UUID(hex=sys.stdin.buffer.read(32).decode('utf8'))
38-
if iscoroutinefunction(proxy_runner):
39-
run(proxy_runner(token=proxy_token, manager_token=manager_token, **vars(opts)))
40-
else:
41-
proxy_runner(token=proxy_token, manager_token=manager_token, **vars(opts))
36+
try:
37+
parser = proxy_command_parser()
38+
parser, proxy_runner = launcher_func(parser)
39+
opts = parser.parse_args()
40+
_log.info(f'Launching Proxy with parameters: {opts}')
41+
proxy_token = UUID(hex=sys.stdin.buffer.read(32).decode('utf8'))
42+
manager_token = UUID(hex=sys.stdin.buffer.read(32).decode('utf8'))
43+
if iscoroutinefunction(proxy_runner):
44+
run(proxy_runner(token=proxy_token, manager_token=manager_token, **vars(opts)))
45+
else:
46+
proxy_runner(token=proxy_token, manager_token=manager_token, **vars(opts))
47+
except BaseException as e:
48+
_log.debug(f'Proxy Launch: Launcher caught exception: {e}')

0 commit comments

Comments
 (0)