AlwaysStdErrHandler#
- class scikitplot.sp_logging.AlwaysStdErrHandler(use_stderr=True)[source]#
A custom logging handler inherited from
StreamHandler
that enforces the use of a specific output stream: either standard error (sys.stderr
) or standard output (sys.stdout
).This handler is particularly useful for environments where log streams must be explicitly directed, such as Jupyter notebooks or specialized logging setups.
- Parameters:
- use_stderrbool, default= not _is_jupyter_notebook()
If True, the handler will use standard error
sys.stderr
as the stream. If False, the handler will use standard outputsys.stdout
as the stream.
- Parameters:
use_stderr (bool)
See also
logging.StreamHandler
Writes logging records, appropriately formatted, to a stream. This class does not close the stream, as
sys.stdout
orsys.stderr
may be used._is_jupyter_notebook
Determines if the environment is a Jupyter notebook. For define
use_stderr
.
- close()[source]#
Tidy up any resources used by the handler.
This version removes the handler from an internal map of handlers, _handlers, which is used for handler lookup by name. Subclasses should ensure that this gets called from overridden close() methods.
- emit(record)[source]#
Emit a record.
If a formatter is specified, it is used to format the record. The record is then written to the stream with a trailing newline. If exception information is present, it is formatted using traceback.print_exception and appended to the stream. If the stream has an ‘encoding’ attribute, it is used to determine how to do the output to the stream.
- filter(record)[source]#
Determine if a record is loggable by consulting all the filters.
The default is to allow the record to be logged; any filter can veto this and the record is then dropped. Returns a zero value if a record is to be dropped, else non-zero.
Changed in version 3.2: Allow filters to be just callables.
- format(record)[source]#
Format the specified record.
If a formatter is set, use it. Otherwise, use the default formatter for the module.
- handle(record)[source]#
Conditionally emit the specified logging record.
Emission depends on filters which may have been added to the handler. Wrap the actual emission of the record with acquisition/release of the I/O thread lock. Returns whether the filter passed the record for emission.
- handleError(record)[source]#
Handle errors which occur during an emit() call.
This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method.
- property name#
This is the name property for StreamHandler.
- Returns:
- Optional[str]
The current handler object name if provided, otherwise None.
- setStream(stream)[source]#
Sets the StreamHandler’s stream to the specified value, if it is different.
Returns the old stream, if the stream was changed, or None if it wasn’t.
- property stream: IO[str]#
Get the current logging stream.
- Returns:
- IO[str]
The current stream object (
sys.stderr
orsys.stdout
).
- terminator = '\n'#