Mercurial > p > roundup > code
diff roundup/scripts/roundup_server.py @ 5523:fb9abb842f36
Fix roundup-server logging for Python 3.
Using the roundup-server support for redirecting output to a log file
fails with Python 3:
sys.stdout = sys.stderr = open(self["LOGFILE"], 'a', 0)
ValueError: can't have unbuffered text I/O
Thus, this patch switches that redirection to use line-buffered output
(1 as third argument to open), which works with both Python 2 and
Python 3.
| author | Joseph Myers <jsm@polyomino.org.uk> |
|---|---|
| date | Sun, 02 Sep 2018 14:18:12 +0000 |
| parents | fec18298ae02 |
| children | 3d80e7752783 |
line wrap: on
line diff
--- a/roundup/scripts/roundup_server.py Sat Sep 01 18:29:16 2018 +0000 +++ b/roundup/scripts/roundup_server.py Sun Sep 02 14:18:12 2018 +0000 @@ -674,8 +674,9 @@ def set_logging(self): """Initialise logging to the configured file, if any.""" - # appending, unbuffered - sys.stdout = sys.stderr = open(self["LOGFILE"], 'a', 0) + # appending, line-buffered (Python 3 does not allow unbuffered + # text files) + sys.stdout = sys.stderr = open(self["LOGFILE"], 'a', 1) def get_server(self): """Return HTTP server object to run"""
