Route a buffered entry to the appropriate logger method
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(logger_type), | intent(in) | :: | logger | |||
| type(log_entry_type), | intent(in) | :: | entry |
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