def enable_pretty_logging():
"""Turns on formatted logging output as configured."""
+ root_logger = logging.getLogger()
+ if options.log_file_prefix:
+ channel = logging.handlers.RotatingFileHandler(
+ filename=options.log_file_prefix,
+ maxBytes=options.log_file_max_size,
+ backupCount=options.log_file_num_backups)
+ channel.setFormatter(_LogFormatter(color=False))
+ root_logger.addHandler(channel)
+
if (options.log_to_stderr or
- (options.log_to_stderr is None and not options.log_file_prefix)):
+ (options.log_to_stderr is None and not root_logger.handlers)):
# Set up color if we are in a tty and curses is installed
color = False
if curses and sys.stderr.isatty():
pass
channel = logging.StreamHandler()
channel.setFormatter(_LogFormatter(color=color))
- logging.getLogger().addHandler(channel)
+ root_logger.addHandler(channel)
- if options.log_file_prefix:
- channel = logging.handlers.RotatingFileHandler(
- filename=options.log_file_prefix,
- maxBytes=options.log_file_max_size,
- backupCount=options.log_file_num_backups)
- channel.setFormatter(_LogFormatter(color=False))
- logging.getLogger().addHandler(channel)
class _LogFormatter(logging.Formatter):
metavar="info|warning|error|none")
define("log_to_stderr", type=bool, default=None,
help=("Send log output to stderr (colorized if possible). "
- "By default use stderr if --log_file_prefix is not set."))
+ "By default use stderr if --log_file_prefix is not set and "
+ "no other logging is configured."))
define("log_file_prefix", type=str, default=None, metavar="PATH",
help=("Path prefix for log files. "
"Note that if you are running multiple tornado processes, "