objwatch.core module¶
- class objwatch.core.ObjWatch(targets: List[str | ModuleType], exclude_targets: List[str | ModuleType] | None = None, with_locals: bool = False, with_globals: bool = False, output: str | None = None, output_json: str | None = None, level: int = 10, simple: bool = True, wrapper: ABCWrapper | None = None, framework: str | None = None, indexes: List[int] | None = None)[source]¶
Bases:
objectTracing and logging of specified Python modules to aid in debugging and monitoring.
- __init__(targets: List[str | ModuleType], exclude_targets: List[str | ModuleType] | None = None, with_locals: bool = False, with_globals: bool = False, output: str | None = None, output_json: str | None = None, level: int = 10, simple: bool = True, wrapper: ABCWrapper | None = None, framework: str | None = None, indexes: List[int] | None = None) None[source]¶
Initialize the ObjWatch instance with configuration parameters.
- Parameters:
targets (
List[Union[str, ModuleType]]) – Files or modules to monitor.exclude_targets (
Optional[List[Union[str, ModuleType]]]) – Files or modules to exclude from monitoring.with_locals (
bool) – Enable tracing and logging of local variables within functions.with_globals (
bool) – Enable tracing and logging of global variables across function calls.output (
Optional[str]) – File path for writing logs, must end with ‘.objwatch’ for ObjWatch Log Viewer extension.output_json (
Optional[str]) – JSON file path for writing structured logs.level (
int) – Logging level (e.g., logging.DEBUG, logging.INFO).simple (
bool) – Defaults to True, disable simple logging mode with the format “[{time}] [{level}] objwatch: {msg}”.wrapper (
Optional[ABCWrapper]) – Custom wrapper to extend tracing and logging functionality.framework (
Optional[str]) – The multi-process framework module to use.indexes (
Optional[List[int]]) – The indexes to track in a multi-process environment.
- __enter__() ObjWatch[source]¶
Enter the runtime context related to this object.
- Returns:
The ObjWatch instance itself.
- Return type:
- __exit__(exc_type: type | None, exc_val: BaseException | None, exc_tb: Any | None) None[source]¶
Exit the runtime context and stop tracing.
- Parameters:
exc_type (
Optional[type]) – The exception type.exc_val (
Optional[BaseException]) – The exception value.exc_tb (
Optional[Any]) – The traceback object.
- objwatch.core.watch(targets: List[str | ModuleType], exclude_targets: List[str | ModuleType] | None = None, with_locals: bool = False, with_globals: bool = False, output: str | None = None, output_json: str | None = None, level: int = 10, simple: bool = True, wrapper: ABCWrapper | None = None, framework: str | None = None, indexes: List[int] | None = None) ObjWatch[source]¶
Initialize and start an ObjWatch instance.
- Parameters:
targets (
List[Union[str, ModuleType]]) – Files or modules to monitor.exclude_targets (
Optional[List[Union[str, ModuleType]]]) – Files or modules to exclude from monitoring.with_locals (
bool) – Enable tracing and logging of local variables within functions.with_globals (
bool) – Enable tracing and logging of global variables across function calls.output (
Optional[str]) – File path for writing logs, must end with ‘.objwatch’ for ObjWatch Log Viewer extension.output_json (
Optional[str]) – JSON file path for writing structured logs.level (
int) – Logging level (e.g., logging.DEBUG, logging.INFO).simple (
bool) – Defaults to True, disable simple logging mode with the format “[{time}] [{level}] objwatch: {msg}”.wrapper (
Optional[ABCWrapper]) – Custom wrapper to extend tracing and logging functionality.framework (
Optional[str]) – The multi-process framework module to use.indexes (
Optional[List[int]]) – The indexes to track in a multi-process environment.
- Returns:
The initialized and started ObjWatch instance.
- Return type: