Welcome to Treelog’s documentation!¶
Treelog is a logging framework that organizes messages in a tree.
-
class
treelog.
DataLog
(dirpath: str = '.', names: Callable[[str], Iterable[str]] = <function sequence>)¶ Output only data.
-
class
treelog.
FilterLog
(baselog: treelog.proto.Log, minlevel: Optional[treelog.proto.Level] = None, maxlevel: Optional[treelog.proto.Level] = None)¶ Filter messages based on level.
-
class
treelog.
HtmlLog
(dirpath: str, *, filename: str = 'log.html', title: Optional[str] = None, htmltitle: Optional[str] = None, favicon: Optional[str] = None)¶ Output html nested lists.
-
class
treelog.
LoggingLog
(name: str = 'nutils')¶ Log to Python’s built-in logging facility.
-
class
treelog.
RecordLog
(simplify: bool = True)¶ Record log messages.
The recorded messages can be replayed to the logs that are currently active by
replay()
. Typical usage is caching expensive operations:>>> import treelog, pickle >>> # compute >>> record = treelog.RecordLog() >>> with treelog.add(record): ... treelog.info('computing something expensive') ... result = 'my expensive result' computing something expensive >>> raw = pickle.dumps((record, result)) >>> # reuse >>> record, result = pickle.loads(raw) >>> record.replay() computing something expensive
Note
Exceptions raised while in a
Log.context()
are not recorded.-
replay
(log: Optional[treelog.proto.Log] = None) → None¶ Replay this recorded log.
All recorded messages and files will be written to the log that is either directly specified or currently active.
-
-
class
treelog.
RichOutputLog
¶ Output rich (colored,unicode) text to stream.
-
class
treelog.
StderrLog
¶ Output plain text to stream.
-
class
treelog.
StdoutLog
¶ Output plain text to stream.
-
class
treelog.
TeeLog
(baselog1: treelog.proto.Log, baselog2: treelog.proto.Log)¶ Forward messages to two underlying loggers.
-
treelog.
add
(logger: treelog.proto.Log) → AbstractContextManager[treelog.proto.Log]¶ Add logger to current.
-
treelog.
context
(title: str, *initargs: Any, **initkwargs: Any) → Generator[Optional[Callable[[…], None]], None, None]¶ Enterable context.
Returns an enterable object which upon enter creates a context with a given title, to be automatically closed upon exit. In case additional arguments are given the title is used as a format string, and a callable is returned that allows for recontextualization from within the current with-block.
-
treelog.
debugfile
(name: str, mode: str) → AbstractContextManager[IO[Any]]¶ Open file in logger-controlled directory.
- Parameters
filename (
str
) –mode (
str
) – Should be either'w'
(text) or'wb'
(binary data).
-
treelog.
disable
() → AbstractContextManager[treelog.proto.Log]¶ Disable logger.
-
treelog.
errorfile
(name: str, mode: str) → AbstractContextManager[IO[Any]]¶ Open file in logger-controlled directory.
- Parameters
filename (
str
) –mode (
str
) – Should be either'w'
(text) or'wb'
(binary data).
-
treelog.
infofile
(name: str, mode: str) → AbstractContextManager[IO[Any]]¶ Open file in logger-controlled directory.
- Parameters
filename (
str
) –mode (
str
) – Should be either'w'
(text) or'wb'
(binary data).
-
treelog.
set
(logger: treelog.proto.Log) → Generator[treelog.proto.Log, None, None]¶ Set logger as current.
-
treelog.
userfile
(name: str, mode: str) → AbstractContextManager[IO[Any]]¶ Open file in logger-controlled directory.
- Parameters
filename (
str
) –mode (
str
) – Should be either'w'
(text) or'wb'
(binary data).
-
treelog.
warningfile
(name: str, mode: str) → AbstractContextManager[IO[Any]]¶ Open file in logger-controlled directory.
- Parameters
filename (
str
) –mode (
str
) – Should be either'w'
(text) or'wb'
(binary data).
-
treelog.
withcontext
(f: Callable[[…], T]) → Callable[[…], T]¶ Decorator; executes the wrapped function in its own logging context.