Welcome to jaraco.logging documentation!¶
- class jaraco.logging.LogFileWrapper(name, lvl=logging.DEBUG)¶
Bases:
object
Emulates a file to replace stdout or stderr or anothe file object and redirects its output to a logger.
Since data will often be send in partial lines or multiple lines, data is queued up until a new line is received. Each line of text is send to the logger separately.
- write(data)¶
- class jaraco.logging.TimestampFileHandler(base_filename, mode='a', period='day')¶
Bases:
StreamHandler
A logging handler which will log to a file, similar to logging.handlers.RotatingFileHandler, but instead of appending a number, uses a timestamp to periodically select new file names to log to.
Since this was developed, a TimedRotatingFileHandler was added to the Python stdlib. This class is still useful because it allows the period to be specified using simple english words.
- close()¶
Closes the stream.
- emit(record)¶
Emit a record.
Output the record to the file, ensuring that the currently- opened file has the correct date.
- get_filename(t)¶
Return the appropriate filename for the given time based on the defined period.
- property period¶
- jaraco.logging.add_arguments(parser, default_level=logging.INFO)¶
Add arguments to an ArgumentParser or OptionParser for purposes of grabbing a logging level.
>>> import argparse >>> add_arguments(argparse.ArgumentParser())
- jaraco.logging.log_level(level_string)¶
Return a log level for a string
>>> log_level('DEBUG') == logging.DEBUG True >>> log_level('30') == logging.WARNING True
- jaraco.logging.setup(options, **kwargs)¶
Setup logging with options or arguments from an OptionParser or ArgumentParser. Also pass any keyword arguments to the basicConfig call.
>>> import argparse >>> parser = argparse.ArgumentParser() >>> add_arguments(parser) >>> monkeypatch = getfixture('monkeypatch') >>> monkeypatch.setattr(logging, 'basicConfig', lambda **kwargs: print(kwargs)) >>> setup(parser.parse_args([])) {'level': 20}
- jaraco.logging.setup_requests_logging(level)¶
Setup logging for ‘requests’ such that it logs details about the connection, headers, etc.
>>> monkeypatch = getfixture('monkeypatch') >>> monkeypatch.setattr(http.client.HTTPConnection, 'debuglevel', None) >>> setup_requests_logging(logging.DEBUG) >>> http.client.HTTPConnection.debuglevel True