-- | Convenience functions for reporting (displaying and/or logging) -- status messages. -- module Network.Services.TSN.Report ( report_debug, report_error, report_info, report_warning ) where import Network.Services.TSN.Logging ( log_debug, log_error, log_info, log_warning ) import Network.Services.TSN.Terminal ( display_debug, display_error, display_info, display_warning ) -- | Display and log debug information. WARNING! This does not -- automatically append a newline. The output is displayed/logged -- as-is, for, you know, debug purposes. report_debug :: String -> IO () report_debug s = do display_debug s log_debug s -- | Display and log an error condition. This will prefix the error -- with \"ERROR: \" when displaying (but not logging) it so that it -- stands out. -- report_error :: String -> IO () report_error s = do display_error $ "ERROR: " ++ s log_error s -- | Display and log an informational (status) message. -- report_info :: String -> IO () report_info s = do display_info s log_info s -- | Display and log a warning. This will prefix the warning with -- \"WARNING: \" when displaying (but not logging) it so that it -- stands out. -- report_warning :: String -> IO () report_warning s = do display_warning $ "WARNING: " ++ s log_warning s