dispatch Subroutine

private subroutine dispatch(logger, entry)

Route a buffered entry to the appropriate logger method

Arguments

Type IntentOptional Attributes Name
type(logger_type), intent(in) :: logger
type(log_entry_type), intent(in) :: entry

Calls

proc~~dispatch~~CallsGraph proc~dispatch dispatch proc~debug logger_type%debug proc~dispatch->proc~debug proc~error logger_type%error proc~dispatch->proc~error proc~info logger_type%info proc~dispatch->proc~info proc~knowledge logger_type%knowledge proc~dispatch->proc~knowledge proc~performance logger_type%performance proc~dispatch->proc~performance proc~verbose logger_type%verbose proc~dispatch->proc~verbose proc~warning logger_type%warning proc~dispatch->proc~warning

Called by

proc~~dispatch~~CalledByGraph proc~dispatch dispatch proc~flush_log_buffer flush_log_buffer proc~flush_log_buffer->proc~dispatch

Source Code

   subroutine dispatch(logger, entry)
      !! Route a buffered entry to the appropriate logger method
      type(logger_type), intent(in) :: logger
      type(log_entry_type), intent(in) :: entry

      if (entry%has_module .and. entry%has_procedure) then
         select case (trim(entry%level))
         case ("DEBUG")
            call logger%debug(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("VERBOSE")
            call logger%verbose(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("INFO")
            call logger%info(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("PERFORMANCE")
            call logger%performance(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("WARNING")
            call logger%warning(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("ERROR")
            call logger%error(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case ("LORE")
            call logger%knowledge(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         case default
            call logger%warning(trim(entry%message), trim(entry%module_name), trim(entry%procedure_name))
         end select
      else if (entry%has_module) then
         select case (trim(entry%level))
         case ("DEBUG")
            call logger%debug(trim(entry%message), trim(entry%module_name))
         case ("VERBOSE")
            call logger%verbose(trim(entry%message), trim(entry%module_name))
         case ("INFO")
            call logger%info(trim(entry%message), trim(entry%module_name))
         case ("PERFORMANCE")
            call logger%performance(trim(entry%message), trim(entry%module_name))
         case ("WARNING")
            call logger%warning(trim(entry%message), trim(entry%module_name))
         case ("ERROR")
            call logger%error(trim(entry%message), trim(entry%module_name))
         case ("LORE")
            call logger%knowledge(trim(entry%message), trim(entry%module_name))
         case default
            call logger%warning(trim(entry%message), trim(entry%module_name))
         end select
      else
         select case (trim(entry%level))
         case ("DEBUG")
            call logger%debug(trim(entry%message))
         case ("VERBOSE")
            call logger%verbose(trim(entry%message))
         case ("INFO")
            call logger%info(trim(entry%message))
         case ("PERFORMANCE")
            call logger%performance(trim(entry%message))
         case ("WARNING")
            call logger%warning(trim(entry%message))
         case ("ERROR")
            call logger%error(trim(entry%message))
         case ("LORE")
            call logger%knowledge(trim(entry%message))
         case default
            call logger%warning(trim(entry%message))
         end select
      end if
   end subroutine dispatch