# cpl_core.logging

## cpl_core.logging.logger_abc

class cpl_core.logging.logger_abc.LoggerABC

  Bases: `ABC`

  ABC for `cpl_core.logging.logger_service.Logger`

  abstract debug(name: str, message: str)

    Writes a debug message

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  abstract error(name: str, message: str, ex: Optional[Exception] = None)

    Writes an error

    > name: `str`

    >   Error name

    > message: `str`

    >   Error message

    > ex: `Exception`

    >   Thrown exception

  abstract fatal(name: str, message: str, ex: Optional[Exception] = None)

    Writes an error and ends the program

    > name: `str`

    >   Error name

    > message: `str`

    >   Error message

    > ex: `Exception`

    >   Thrown exception

  abstract header(string: str)

    Writes a header message

    > string: `str`

    >   String to write as header

  abstract info(name: str, message: str)

    Writes an information

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  abstract trace(name: str, message: str)

    Writes a trace message

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  abstract warn(name: str, message: str)

    Writes an warning

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

## cpl_core.logging.logger_service

class cpl_core.logging.logger_service.Logger(logging_settings: LoggingSettings, time_format: TimeFormatSettings, env: ApplicationEnvironmentABC)

  Bases: `LoggerABC`

  Service for logging

  > logging_settings: `cpl_core.logging.logging_settings.LoggingSettings`

  >   Settings for the logger

  > time_format: `cpl_core.time.time_format_settings.TimeFormatSettings`

  >   Time format settings

  > env: `cpl_core.environment.application_environment_abc.ApplicationEnvironmentABC`

  >   Environment of the application

  create() → None

    Creates path tree and logfile

  debug(name: str, message: str)

    Writes a debug message

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  error(name: str, message: str, ex: Optional[Exception] = None)

    Writes an error

    > name: `str`

    >   Error name

    > message: `str`

    >   Error message

    > ex: `Exception`

    >   Thrown exception

  fatal(name: str, message: str, ex: Optional[Exception] = None)

    Writes an error and ends the program

    > name: `str`

    >   Error name

    > message: `str`

    >   Error message

    > ex: `Exception`

    >   Thrown exception

  header(string: str)

    Writes a header message

    > string: `str`

    >   String to write as header

  info(name: str, message: str)

    Writes an information

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  trace(name: str, message: str)

    Writes a trace message

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

  warn(name: str, message: str)

    Writes an warning

    > name: `str`

    >   Message name

    > message: `str`

    >   Message string

## cpl_core.logging.logging_level_enum

class cpl_core.logging.logging_level_enum.LoggingLevelEnum(value)

  Bases: `Enum`

  An enumeration.

  DEBUG = 5
  ERROR = 2
  FATAL = 1
  INFO = 4
  OFF = 0
  TRACE = 6
  WARN = 3

## cpl_core.logging.logging_settings

class cpl_core.logging.logging_settings.LoggingSettings

  Bases: `ConfigurationModelABC`

  Representation of logging settings

  property console: LoggingLevelEnum
  property filename: str
  from_dict(settings: dict)

    Converts attributes to dict

    > settings: `dict`

  property level: LoggingLevelEnum
  property path: str

## cpl_core.logging.logging_settings_name_enum

class cpl_core.logging.logging_settings_name_enum.LoggingSettingsNameEnum(value)

  Bases: `Enum`

  An enumeration.

  console_level = 'ConsoleLogLevel'
  file_level = 'FileLogLevel'
  filename = 'Filename'
  path = 'Path'