Arcades

Class Logger

A logger class.

A class that can be used by any object to instanciate dedicated logger. See documentation of Python logging facility to see what I tried to achieve.

This class also contains a default/main logger as a static field for quick and dirty logging.

Info:
  • function

    formatter

    Function used to format log message.

  • integer

    level_value

    Current logging level.

  • string

    name

    Name of the logger to identify it.

  • Output stream used by the logger.

  • __init ( name[, level=default_level_value[, formatter=timestamp_output[, output=default_output]]] )

    Class constructor.

    Parameters:
    • string name
      Name of the logger
    • level
      Logging level (string or integer) to use (default default_level_value)
    • function formatter
      Function used to format log message (default timestamp_output)
    • io.file_descriptor output
      Stream to use as logger output (default default_output)

Public Methods

keyboard_arrow_up
  • get_level ()

    Get logging level.

    Return current logging level as integer and string values.

    Returns:
    • integer Current logging integer value
    • string Current logging string value
  • log ( level, ... )

    Log a message.

    Generate a log message with the given level, and print it if current logging level allows it.

    A function is also defined for each log level, using a lower cased version of level_strings values.

    Parameters:
    • level
      Message level as integer or string value.
    • ...
      Data to format and log. See @getlog_message.
    Returns:
    • self
    Usage:
    • logger:log("DEBUG", ...)
      -- equivalent to
      logger:debug(...)
  • progress ( [step] )

    Print a progressing wheel.

    Warning:
    Parameters:
    • integer step
      Step number to display (optional)
  • set_level ( level )

    Change logging level.

    Change the current logging level to the given level witch can be passed as integer or string values.

    Parameters:
    • level
      Logging level to use
    Returns:
    • self
  • set_output ( [filename=nil] )

    Change the output.

    Parameters:

Private Methods

keyboard_arrow_up
  • _format ( str_level, msg )

    Add logger informations to log message.

    Parameters:
    • string str_level
      String value of the message level
    • string msg
      User log message
    Returns:
    • string Logger formatted message
  • _get_log_message ( int_level, str_format, ... )

    Build and format a log message.

    Parameters:
    • integer int_level
      Integer value of the level of the message
    • string str_format
      Base string to format
    • ...
      Values used for formatting
    Returns:
    • string Formatted log message

Static Fields

keyboard_arrow_up
  • default_level_value

    Default log level.

    Log level used by default by new logger instances.

  • default_output

    Default output.

    Output used by default by new logger instances.

  • level_strings

    Available log levels.

    String representations of the log levels.

    Fields:
  • level_values

    Available log levels.

    Integer representations of the log levels.

    Fields:
  • main_logger

    Default logger.

    A pre-instanciated logger for quick and dirty logging.

Static Functions

keyboard_arrow_up
  • _get_level_string ( int_level )

    Get string representation of an integer log level.

    Parameters: Returns:
  • _get_level_value ( str_level )

    Get integer representation of a string log level.

    Parameters:
    • string str_level
      The string representation of the log level
    Returns:
  • get_levels ( level )

    Get representations of the given level.

    Parameters: Returns:
  • set_default_level ( level )

    Set default log level.

    Parameters: See also:
  • set_default_output ( [f=nil] )

    Set default output.

    Parameters:
    • string f
      Name of the file to use as output or nil to set io.stdout (default nil)
  • timestamp_output ( self, level, msg )

    Standard log formatter function.

    The default standard log formatter function, adding timestamp, message level, file and line of issuing code.

    Parameters: Returns:
    • string Logger formatted message