You are viewing an older version (9.10.0). Go to latest (9.13.0)
{ } Raw JSON

bundles / IPython 9.10.0 / IPython / core / magics / logging / LoggingMagics / logstart

function

IPython.core.magics.logging:LoggingMagics.logstart

source: /IPython/core/magics/logging.py :38

Signature

def   logstart ( self parameter_s = '' )

Summary

Start logging anywhere in a session.

Extended Summary

%logstart [-o|-r|-t|-q] [log_name [log_mode]]

If no name is given, it defaults to a file named 'ipython_log.py' in your current directory, in 'rotate' mode (see below).

'%logstart name' saves to file 'name' in 'backup' mode. It saves your history up to that point and then continues logging.

%logstart takes a second optional parameter: logging mode. This can be one of (note that the modes are given unquoted):

append

Keep logging at the end of any existing file.

backup

Rename any existing file to name~ and start name.

global

Append to a single logfile in your home directory.

over

Overwrite any existing log.

rotate

Create rotating logs: name.1~, name.2~, etc.

Options:

-o

log also IPython's output. In this mode, all commands which generate an Out[NN] prompt are recorded to the logfile, right after their corresponding input line. The output lines are always prepended with a '#[Out]# ' marker, so that the log remains valid Python code.

Since this marker is always the same, filtering only the output from a log is very easy, using for example a simple awk call

awk -F'#\[Out\]# ' '{if($2) {print $2}}' ipython_log.py

-r

log 'raw' input. Normally, IPython's logs contain the processed input, so that user lines are logged in their final form, converted into valid Python. For example, %Exit is logged as _ip.run_line_magic("Exit"). If the -r flag is given, all input is logged exactly as typed, with no transformations applied.

-t

put timestamps before each input line logged (these are put in comments).

-q

suppress output of logstate message when logging is invoked

Aliases

  • IPython.core.magics.LoggingMagics.logstart