Skip to main content

openhands.core.logger

NoColorFormatter Objects

class NoColorFormatter(logging.Formatter)

Formatter for non-colored logging in files.

strip_ansi

def strip_ansi(s: str) -> str

Removes ANSI escape sequences from str, as defined by ECMA-048 in http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf https://github.com/ewen-lbh/python-strip-ansi/blob/master/strip_ansi/__init__.py

RollingLogger Objects

class RollingLogger()
def print_lines()

Display the last n log_lines in the console (not for file logging). This will create the effect of a rolling display in the console.

move_back

def move_back(amount=-1)

'' moves the cursor up one line.

replace_current_line

def replace_current_line(line='')

' ' clears the line and moves the cursor to the beginning of the line.

get_console_handler

def get_console_handler(log_level: int = logging.INFO,
extra_info: str | None = None)

Returns a console handler for logging.

get_file_handler

def get_file_handler(log_dir: str, log_level: int = logging.INFO)

Returns a file handler for logging.

log_uncaught_exceptions

def log_uncaught_exceptions(ex_cls, ex, tb)

Logs uncaught exceptions along with the traceback.

Arguments:

  • ex_cls type - The type of the exception.
  • ex Exception - The exception instance.
  • tb traceback - The traceback object.

Returns:

None

LlmFileHandler Objects

class LlmFileHandler(logging.FileHandler)

LLM prompt and response logging

__init__

def __init__(filename, mode='a', encoding='utf-8', delay=False)

Initializes an instance of LlmFileHandler.

Arguments:

  • filename str - The name of the log file.
  • mode str, optional - The file mode. Defaults to 'a'.
  • encoding str, optional - The file encoding. Defaults to None.
  • delay bool, optional - Whether to delay file opening. Defaults to False.

emit

def emit(record)

Emits a log record.

Arguments:

  • record logging.LogRecord - The log record to emit.