Skip to content
This repository was archived by the owner on Nov 23, 2017. It is now read-only.

Commit 4408d67

Browse files
committed
Merge
1 parent 78c3a28 commit 4408d67

17 files changed

+126
-78
lines changed

asyncio/base_events.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from . import events
2828
from . import futures
2929
from . import tasks
30-
from .log import asyncio_log
30+
from .log import logger
3131

3232

3333
__all__ = ['BaseEventLoop', 'Server']
@@ -580,7 +580,7 @@ def _run_once(self):
580580
level = logging.INFO
581581
else:
582582
level = logging.DEBUG
583-
asyncio_log.log(level, 'poll%s took %.3f seconds', argstr, t1-t0)
583+
logger.log(level, 'poll%s took %.3f seconds', argstr, t1-t0)
584584
self._process_events(event_list)
585585

586586
# Handle 'later' callbacks that are ready.

asyncio/events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import threading
1313
import socket
1414

15-
from .log import asyncio_log
15+
from .log import logger
1616

1717

1818
class Handle:
@@ -36,8 +36,8 @@ def _run(self):
3636
try:
3737
self._callback(*self._args)
3838
except Exception:
39-
asyncio_log.exception('Exception in callback %s %r',
40-
self._callback, self._args)
39+
logger.exception('Exception in callback %s %r',
40+
self._callback, self._args)
4141
self = None # Needed to break cycles when an exception occurs.
4242

4343

asyncio/futures.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import traceback
1111

1212
from . import events
13-
from .log import asyncio_log
13+
from .log import logger
1414

1515
# States for Future.
1616
_PENDING = 'PENDING'
@@ -99,8 +99,8 @@ def clear(self):
9999

100100
def __del__(self):
101101
if self.tb:
102-
asyncio_log.error('Future/Task exception was never retrieved:\n%s',
103-
''.join(self.tb))
102+
logger.error('Future/Task exception was never retrieved:\n%s',
103+
''.join(self.tb))
104104

105105

106106
class Future:

asyncio/log.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
import logging
44

55

6-
asyncio_log = logging.getLogger("asyncio")
6+
# Name the logger after the package.
7+
logger = logging.getLogger(__package__)

asyncio/proactor_events.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from . import constants
1111
from . import futures
1212
from . import transports
13-
from .log import asyncio_log
13+
from .log import logger
1414

1515

1616
class _ProactorBasePipeTransport(transports.BaseTransport):
@@ -50,7 +50,7 @@ def close(self):
5050
self._read_fut.cancel()
5151

5252
def _fatal_error(self, exc):
53-
asyncio_log.exception('Fatal error for %s', self)
53+
logger.exception('Fatal error for %s', self)
5454
self._force_close(exc)
5555

5656
def _force_close(self, exc):
@@ -164,7 +164,7 @@ def write(self, data):
164164

165165
if self._conn_lost:
166166
if self._conn_lost >= constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES:
167-
asyncio_log.warning('socket.send() raised exception.')
167+
logger.warning('socket.send() raised exception.')
168168
self._conn_lost += 1
169169
return
170170
self._buffer.append(data)
@@ -246,7 +246,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop):
246246

247247
def __init__(self, proactor):
248248
super().__init__()
249-
asyncio_log.debug('Using proactor: %s', proactor.__class__.__name__)
249+
logger.debug('Using proactor: %s', proactor.__class__.__name__)
250250
self._proactor = proactor
251251
self._selector = proactor # convenient alias
252252
proactor.set_loop(self)
@@ -335,7 +335,7 @@ def loop(f=None):
335335
f = self._proactor.accept(sock)
336336
except OSError:
337337
if sock.fileno() != -1:
338-
asyncio_log.exception('Accept failed')
338+
logger.exception('Accept failed')
339339
sock.close()
340340
except futures.CancelledError:
341341
sock.close()

asyncio/selector_events.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from . import futures
1818
from . import selectors
1919
from . import transports
20-
from .log import asyncio_log
20+
from .log import logger
2121

2222

2323
class BaseSelectorEventLoop(base_events.BaseEventLoop):
@@ -31,7 +31,7 @@ def __init__(self, selector=None):
3131

3232
if selector is None:
3333
selector = selectors.DefaultSelector()
34-
asyncio_log.debug('Using selector: %s', selector.__class__.__name__)
34+
logger.debug('Using selector: %s', selector.__class__.__name__)
3535
self._selector = selector
3636
self._make_self_pipe()
3737

@@ -105,7 +105,7 @@ def _accept_connection(self, protocol_factory, sock, ssl=None,
105105
sock.close()
106106
# There's nowhere to send the error, so just log it.
107107
# TODO: Someone will want an error handler for this.
108-
asyncio_log.exception('Accept failed')
108+
logger.exception('Accept failed')
109109
else:
110110
if ssl:
111111
self._make_ssl_transport(
@@ -363,7 +363,7 @@ def close(self):
363363

364364
def _fatal_error(self, exc):
365365
# should be called from exception handler only
366-
asyncio_log.exception('Fatal error for %s', self)
366+
logger.exception('Fatal error for %s', self)
367367
self._force_close(exc)
368368

369369
def _force_close(self, exc):
@@ -444,7 +444,7 @@ def write(self, data):
444444

445445
if self._conn_lost:
446446
if self._conn_lost >= constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES:
447-
asyncio_log.warning('socket.send() raised exception.')
447+
logger.warning('socket.send() raised exception.')
448448
self._conn_lost += 1
449449
return
450450

@@ -667,7 +667,7 @@ def write(self, data):
667667

668668
if self._conn_lost:
669669
if self._conn_lost >= constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES:
670-
asyncio_log.warning('socket.send() raised exception.')
670+
logger.warning('socket.send() raised exception.')
671671
self._conn_lost += 1
672672
return
673673

@@ -714,7 +714,7 @@ def sendto(self, data, addr=None):
714714

715715
if self._conn_lost and self._address:
716716
if self._conn_lost >= constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES:
717-
asyncio_log.warning('socket.send() raised exception.')
717+
logger.warning('socket.send() raised exception.')
718718
self._conn_lost += 1
719719
return
720720

asyncio/tasks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
from . import events
1818
from . import futures
19-
from .log import asyncio_log
19+
from .log import logger
2020

2121
# If you set _DEBUG to true, @coroutine will wrap the resulting
2222
# generator objects in a CoroWrapper instance (defined below). That
@@ -62,8 +62,8 @@ def __del__(self):
6262
code = func.__code__
6363
filename = code.co_filename
6464
lineno = code.co_firstlineno
65-
asyncio_log.error('Coroutine %r defined at %s:%s was never yielded from',
66-
func.__name__, filename, lineno)
65+
logger.error('Coroutine %r defined at %s:%s was never yielded from',
66+
func.__name__, filename, lineno)
6767

6868

6969
def coroutine(func):

asyncio/unix_events.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from . import selector_events
1919
from . import tasks
2020
from . import transports
21-
from .log import asyncio_log
21+
from .log import logger
2222

2323

2424
__all__ = ['SelectorEventLoop', 'STDIN', 'STDOUT', 'STDERR']
@@ -79,7 +79,7 @@ def add_signal_handler(self, sig, callback, *args):
7979
try:
8080
signal.set_wakeup_fd(-1)
8181
except ValueError as nexc:
82-
asyncio_log.info('set_wakeup_fd(-1) failed: %s', nexc)
82+
logger.info('set_wakeup_fd(-1) failed: %s', nexc)
8383

8484
if exc.errno == errno.EINVAL:
8585
raise RuntimeError('sig {} cannot be caught'.format(sig))
@@ -124,7 +124,7 @@ def remove_signal_handler(self, sig):
124124
try:
125125
signal.set_wakeup_fd(-1)
126126
except ValueError as exc:
127-
asyncio_log.info('set_wakeup_fd(-1) failed: %s', exc)
127+
logger.info('set_wakeup_fd(-1) failed: %s', exc)
128128

129129
return True
130130

@@ -185,7 +185,7 @@ def _sig_chld(self):
185185
if transp is not None:
186186
transp._process_exited(returncode)
187187
except Exception:
188-
asyncio_log.exception('Unknown exception in SIGCHLD handler')
188+
logger.exception('Unknown exception in SIGCHLD handler')
189189

190190
def _subprocess_closed(self, transport):
191191
pid = transport.get_pid()
@@ -244,7 +244,7 @@ def close(self):
244244

245245
def _fatal_error(self, exc):
246246
# should be called by exception handler only
247-
asyncio_log.exception('Fatal error for %s', self)
247+
logger.exception('Fatal error for %s', self)
248248
self._close(exc)
249249

250250
def _close(self, exc):
@@ -294,8 +294,8 @@ def write(self, data):
294294

295295
if self._conn_lost or self._closing:
296296
if self._conn_lost >= constants.LOG_THRESHOLD_FOR_CONNLOST_WRITES:
297-
asyncio_log.warning('pipe closed by peer or '
298-
'os.write(pipe, data) raised exception.')
297+
logger.warning('pipe closed by peer or '
298+
'os.write(pipe, data) raised exception.')
299299
self._conn_lost += 1
300300
return
301301

@@ -369,7 +369,7 @@ def abort(self):
369369

370370
def _fatal_error(self, exc):
371371
# should be called by exception handler only
372-
asyncio_log.exception('Fatal error for %s', self)
372+
logger.exception('Fatal error for %s', self)
373373
self._close(exc)
374374

375375
def _close(self, exc=None):

asyncio/windows_events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from . import selector_events
1212
from . import tasks
1313
from . import windows_utils
14-
from .log import asyncio_log
14+
from .log import logger
1515

1616
try:
1717
import _overlapped
@@ -139,7 +139,7 @@ def loop(f=None):
139139
f = self._proactor.accept_pipe(pipe)
140140
except OSError:
141141
if pipe and pipe.fileno() != -1:
142-
asyncio_log.exception('Pipe accept failed')
142+
logger.exception('Pipe accept failed')
143143
pipe.close()
144144
except futures.CancelledError:
145145
if pipe:
@@ -367,7 +367,7 @@ def close(self):
367367

368368
while self._cache:
369369
if not self._poll(1):
370-
asyncio_log.debug('taking long time to close proactor')
370+
logger.debug('taking long time to close proactor')
371371

372372
self._results = []
373373
if self._iocp is not None:

examples/sink.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,28 @@
11
"""Test service that accepts connections and reads all data off them."""
22

3+
import argparse
34
import sys
45

56
from asyncio import *
67

8+
ARGS = argparse.ArgumentParser(description="TCP data sink example.")
9+
ARGS.add_argument(
10+
'--iocp', action='store_true', dest='iocp',
11+
default=False, help='Use IOCP event loop (Windows only)')
12+
ARGS.add_argument(
13+
'--host', action='store', dest='host',
14+
default='127.0.0.1', help='Host name')
15+
ARGS.add_argument(
16+
'--port', action='store', dest='port',
17+
default=1111, type=int, help='Port number')
18+
719
server = None
820

21+
922
def dprint(*args):
1023
print('sink:', *args, file=sys.stderr)
1124

25+
1226
class Service(Protocol):
1327

1428
def connection_made(self, tr):
@@ -32,21 +46,26 @@ def data_received(self, data):
3246
def connection_lost(self, how):
3347
dprint('closed', repr(how))
3448

49+
3550
@coroutine
36-
def start(loop):
51+
def start(loop, host, port):
3752
global server
38-
server = yield from loop.create_server(Service, 'localhost', 1111)
53+
server = yield from loop.create_server(Service, host, port)
3954
dprint('serving', [s.getsockname() for s in server.sockets])
4055
yield from server.wait_closed()
4156

57+
4258
def main():
43-
if '--iocp' in sys.argv:
59+
args = ARGS.parse_args()
60+
if args.iocp:
4461
from asyncio.windows_events import ProactorEventLoop
4562
loop = ProactorEventLoop()
4663
set_event_loop(loop)
47-
loop = get_event_loop()
48-
loop.run_until_complete(start(loop))
64+
else:
65+
loop = get_event_loop()
66+
loop.run_until_complete(start(loop, args.host, args.port))
4967
loop.close()
5068

69+
5170
if __name__ == '__main__':
5271
main()

0 commit comments

Comments
 (0)