diff options
| author | Michael Merickel <michael@merickel.org> | 2020-06-03 14:29:31 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-03 14:29:31 -0500 |
| commit | 0ea23784ba4c8af4ac0ae1a2d8a23b959e6acfa6 (patch) | |
| tree | 9301a23c186704beb1abf73995867d9355b49bfb | |
| parent | 0a9d1403bd20c28ca3fb336bd65e2899de356bbb (diff) | |
| parent | 2ba260e83c1646e008715eef8f6bfa4cf335cb34 (diff) | |
| download | pyramid-0ea23784ba4c8af4ac0ae1a2d8a23b959e6acfa6.tar.gz pyramid-0ea23784ba4c8af4ac0ae1a2d8a23b959e6acfa6.tar.bz2 pyramid-0ea23784ba4c8af4ac0ae1a2d8a23b959e6acfa6.zip | |
Merge pull request #3593 from ztane/feature/pserve-write-to-stderr
Fixing #3592 - output diagnostic messages to stderr, not stdout
| -rw-r--r-- | CHANGES.rst | 4 | ||||
| -rw-r--r-- | src/pyramid/scripts/pserve.py | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index 3bd14705d..15d08f295 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -116,6 +116,10 @@ Features are now importable from the ``pyramid.authorization`` namespace. See https://github.com/Pylons/pyramid/pull/3563 +- ``pserve`` now outputs verbose messaging to `stderr` instead of `stdout` + to circumvent buffering issues that exist by default on `stdout`. + See https://github.com/Pylons/pyramid/pull/3593 + Deprecations ------------ diff --git a/src/pyramid/scripts/pserve.py b/src/pyramid/scripts/pserve.py index ce0c454e6..6906a0410 100644 --- a/src/pyramid/scripts/pserve.py +++ b/src/pyramid/scripts/pserve.py @@ -143,7 +143,7 @@ class PServeCommand: def out(self, msg): # pragma: no cover if self.args.verbose > 0: - print(msg) + print(msg, file=sys.stderr) def get_config_path(self, loader): return os.path.abspath(loader.uri.path) @@ -296,7 +296,9 @@ def wsgiref_server_runner(wsgi_app, global_conf, **kw): # pragma: no cover host = kw.get('host', '0.0.0.0') port = int(kw.get('port', 8080)) server = make_server(host, port, wsgi_app) - print('Starting HTTP server on http://%s:%s' % (host, port)) + print( + 'Starting HTTP server on http://%s:%s' % (host, port), file=sys.stderr + ) server.serve_forever() @@ -416,10 +418,14 @@ def cherrypy_server_runner( if host == '0.0.0.0': print( 'serving on 0.0.0.0:%s view at %s://127.0.0.1:%s' - % (port, protocol, port) + % (port, protocol, port), + file=sys.stderr, ) else: - print('serving on %s://%s:%s' % (protocol, host, port)) + print( + 'serving on %s://%s:%s' % (protocol, host, port), + file=sys.stderr, + ) server.start() except (KeyboardInterrupt, SystemExit): server.stop() |
