arkouda.logger

Logging utilities for Arkouda client operations.

The arkouda.logger module provides an extensible, configurable logging system tailored to Arkouda’s Python client. It supports structured logging using the standard logging module with added conveniences, such as type-safe log level enums, named handlers, and global verbosity toggles.

Main Features

  • ArkoudaLogger: A subclass of logging.Logger with Arkouda-specific defaults and dynamic handler configuration.

  • LogLevel: Enum of supported logging levels (DEBUG, INFO, WARN, etc.)

  • Global registry of loggers for coordinated verbosity control

  • Utility methods for enabling/disabling verbose output globally

  • Client-side custom log injection into the Arkouda server logs via write_log

Exports

__all__ = [

“LogLevel”, “enableVerbose”, “disableVerbose”, “write_log”,

]

Classes

LogLevelEnum

Enum for defining log levels in a type-safe way (DEBUG, INFO, WARN, etc.).

ArkoudaLoggerLogger

A wrapper around Python’s standard Logger that adds Arkouda-specific conventions, log formatting, and runtime handler reconfiguration.

Functions

getArkoudaLogger(name, handlers=None, logFormat=None, logLevel=None)

Instantiate a logger with customizable format and log level.

getArkoudaClientLogger(name)

Instantiate a logger for client-facing output (no formatting, INFO level default).

enableVerbose()

Globally set all ArkoudaLoggers to DEBUG level.

disableVerbose(logLevel=LogLevel.INFO)

Globally disable DEBUG output by setting all loggers to the specified level.

write_log(log_msg, tag=”ClientGeneratedLog”, log_lvl=LogLevel.INFO)

Submit a custom log message to the Arkouda server’s logging system.

Usage Example

>>> from arkouda.logger import getArkoudaLogger, LogLevel
>>> logger = getArkoudaLogger("myLogger")
>>> logger.info("This is an info message.")
>>> logger.enableVerbose()
>>> logger.debug("Now showing debug messages.")

See also

-, -

Classes

LogLevel

Enum for defining valid log levels used by ArkoudaLogger.

Functions

disableVerbose(→ None)

Disables verbose logging.

enableVerbose(→ None)

Enable verbose logging (DEBUG log level) for all ArkoudaLoggers.

write_log(log_msg[, tag, log_lvl])

Allow the user to write custom logs.

Module Contents

class arkouda.logger.LogLevel(*args, **kwds)[source]

Bases: enum.Enum

Enum for defining valid log levels used by ArkoudaLogger.

Members

INFOstr

Confirmation that things are working as expected.

DEBUGstr

Detailed information, typically of interest only when diagnosing problems.

WARNstr

An indication that something unexpected happened, or indicative of some problem.

ERRORstr

A more serious problem, the software has not been able to perform some function.

CRITICALstr

An extremely serious error, indicating the program itself may be unable to continue.

Notes

This enum provides a controlled vocabulary for setting log levels on ArkoudaLogger instances. These are mapped internally to the standard Python logging levels.

CRITICAL = 'CRITICAL'
DEBUG = 'DEBUG'
ERROR = 'ERROR'
INFO = 'INFO'
WARN = 'WARN'
arkouda.logger.disableVerbose(logLevel: LogLevel = LogLevel.INFO) None[source]

Disables verbose logging.

Disables verbose logging (DEBUG log level) for all ArkoudaLoggers, setting the log level for each to the logLevel parameter.

Parameters:

logLevel (LogLevel) – The new log level, defaultts to LogLevel.INFO

Raises:

TypeError – Raised if logLevel is not a LogLevel enum

arkouda.logger.enableVerbose() None[source]

Enable verbose logging (DEBUG log level) for all ArkoudaLoggers.

arkouda.logger.write_log(log_msg: str, tag: str = 'ClientGeneratedLog', log_lvl: LogLevel = LogLevel.INFO)[source]

Allow the user to write custom logs.

Parameters:
  • log_msg (str) – The message to be added to the server log

  • tag (str) – The tag to use in the log. This takes the place of the server function name. Allows for easy identification of custom logs. Defaults to “ClientGeneratedLog”

  • log_lvl (LogLevel) – The type of log to be written Defaults to LogLevel.INFO

See also

LogLevel