`self.test`
per-test log, initially no handler, to be directed to file like `{TEST}.log`
- Currently, the logs and fd's get never closed.
-
- TODO: formatters
- WARN: Currently, the module changes fd's 1 and 2, this is a global change.
+ .. note:: Currently, the logs and fd's get never closed.
+ .. note:: Currently, the `Loggers.open_eval_log` changes fd's 1 and 2 by default, this is a global change.
"""
def __init__(self):
"Initialize loggers as described in class description."
"""Open user (progress) logfile. Leaves logging to stdout active."""
h = StreamHandler(open(filename, 'w', 0))
h.setFormatter(Formatter('%(message)s'))
+ self.user.setLevel(level)
self.user.addHandler(h)
self.user.debug('Logging started')
def open_eval_log(self, filename, level, redirect_fds = True):
- """Open user (progress) logfile.
- Leaves logging to stderr active. If told to, redirects fd's 1 and 2 to this file."""
+ """Open main logfile.
+ Leaves logging to stderr active. If told to, redirects fd's 1 and 2 to this file.
+ Sets level of both `self.eval` and `self`."""
self.eval_file = open(filename, 'w', 0)
self.eval_handler = StreamHandler(self.eval_file)
- self.eval_handler.setFormatter(Formatter('%(message)s'))
- self.user.addHandler(self.eval_handler)
+ self.eval_handler.setFormatter(Formatter('%(asctime)s [%(levelno)s] %(message)s'))
+ self.eval.addHandler(self.eval_handler)
if redirect_fds:
os.dup2(self.eval_file.fileno(), 1)
os.dup2(self.eval_file.fileno(), 2)
- self.user.debug('Logging started')
+ self.eval.setLevel(level)
+ self.setLevel(level)
+ self.eval.debug('Logging started')
+
def open_test_log(self, filename, level):
"""Open per-test log file, like "{TEST}.log". Also set handler level to `level`."""