---
title: Logger Use Case Object Hierarchy
---
classDiagram
  direction LR
  namespace codemelted {
    class CLogHandler {
      +fn(CLogRecord)
    }
    class CLogLevel {
      +Debug
      +Info
      +Warning
      +Error
      +Off
      +as_string(self) String
      +as_int(self) u8
    }
    class CLogRecord {
      +get_time_stamp(): DateTime
      +get_log_level(): CLogLevel
      +get_data(): String
      +as_string(): String
    }

    class logger_level
    class logger_handler
    class logger_log
  }
  namespace chrono {
    class DateTime
  }
  CLogRecord --> CLogLevel: uses
  CLogRecord --> DateTime: uses
  logger_level --> CLogLevel: uses
  logger_handler --> CLogEventHandler: uses
  logger_log --> CLogRecord: creates
  logger_log --> CLogLevel: uses
  logger_log --> CLogHandler: calls