[FIX] logging: sys.stdout has not a fileno() method when running behind mod_wsgi.
bzr revid: vmt@openerp.com-20130206103459-2mmgagrh59c23804
This commit is contained in:
parent
3a2286bd78
commit
941f6ebc10
|
@ -186,7 +186,13 @@ def init_logger():
|
||||||
# Normal Handler on standard output
|
# Normal Handler on standard output
|
||||||
handler = logging.StreamHandler(sys.stdout)
|
handler = logging.StreamHandler(sys.stdout)
|
||||||
|
|
||||||
if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()):
|
# Check that handler.stream has a fileno() method: when running OpenERP
|
||||||
|
# behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log,
|
||||||
|
# which has no fileno() method. (mod_wsgi.Log is what is being bound to
|
||||||
|
# sys.stderr when the logging.StreamHandler is being constructed above.)
|
||||||
|
if isinstance(handler, logging.StreamHandler) \
|
||||||
|
and hasattr(handler.stream, 'fileno') \
|
||||||
|
and os.isatty(handler.stream.fileno()):
|
||||||
formatter = ColoredFormatter(format)
|
formatter = ColoredFormatter(format)
|
||||||
else:
|
else:
|
||||||
formatter = DBFormatter(format)
|
formatter = DBFormatter(format)
|
||||||
|
|
Loading…
Reference in New Issue