imas_paraview.vtkhandler.VTKHandler

class imas_paraview.vtkhandler.VTKHandler(*args, **kwargs)

Bases: Handler

A custom logging handler for VTK, intended to work independently from ParaView, adapted from paraview.detail.loghandler.py.

This handler formats and logs messages using VTK's logging system and displays them in the VTK output window. It maps Python's standard logging levels to VTK's verbosity levels.

__init__(*args, **kwargs)

Initializes the instance - basically setting the formatter to None and the filter list to empty.

Methods

__init__(*args, **kwargs)

Initializes the instance - basically setting the formatter to None and the filter list to empty.

acquire()

Acquire the I/O thread lock.

addFilter(filter)

Add the specified filter to this handler.

close()

Tidy up any resources used by the handler.

createLock()

Acquire a thread lock for serializing access to the underlying I/O.

emit(record)

Formats and logs a record using VTK's logging system and displays it in the VTK output window.

filter(record)

Determine if a record is loggable by consulting all the filters.

flush()

Ensure all logging output has been flushed.

format(record)

Format the specified record.

get_level([vtklevel])

Converts a VTK verbosity level to a Python logging level.

get_name()

get_vtk_level(level)

Converts a Python logging level to a VTK verbosity level.

handle(record)

Conditionally emit the specified logging record.

handleError(record)

Handle errors which occur during an emit() call.

release()

Release the I/O thread lock.

removeFilter(filter)

Remove the specified filter from this handler.

setFormatter(fmt)

Set the formatter for this handler.

setLevel(level)

Set the logging level of this handler.

set_name(name)

Attributes

name

acquire()

Acquire the I/O thread lock.

addFilter(filter)

Add the specified filter to this handler.

close()

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.

createLock()

Acquire a thread lock for serializing access to the underlying I/O.

emit(record)

Formats and logs a record using VTK's logging system and displays it in the VTK output window.

Parameters:
record

The log record to be processed.

Raises:
  • Exception -- Any exceptions raised during the logging process will be

  • handled by the handleError method. --

filter(record)

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.

flush()

Ensure all logging output has been flushed.

This version does nothing and is intended to be implemented by subclasses.

format(record)

Format the specified record.

If a formatter is set, use it. Otherwise, use the default formatter for the module.

get_level(vtklevel=None)

Converts a VTK verbosity level to a Python logging level. If VTK verbosity level is provided, it defaults to using the current verbosity cutoff defined in the VTK logger.

Parameters:
vtklevel=None

The VTK verbosity level to convert.

Returns:

The corresponding Python logging level.

get_vtk_level(level)

Converts a Python logging level to a VTK verbosity level.

Parameters:
level

The Python logging level (e.g., logging.ERROR, logging.WARNING).

Returns:

The corresponding VTK verbosity level.

handle(record)

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)

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.

release()

Release the I/O thread lock.

removeFilter(filter)

Remove the specified filter from this handler.

setFormatter(fmt)

Set the formatter for this handler.

setLevel(level)

Set the logging level of this handler. level must be an int or a str.


Last update: 2026-03-11