]> gitweb.michael.orlitzky.com - dead/htsn.git/blobdiff - src/Report.hs
Move the TSN namespace (Xml.hs and FeedHosts.hs) into the top level.
[dead/htsn.git] / src / Report.hs
diff --git a/src/Report.hs b/src/Report.hs
new file mode 100644 (file)
index 0000000..925a018
--- /dev/null
@@ -0,0 +1,57 @@
+-- | Convenience functions for reporting (display and/or logging)
+--   status messages.
+--
+module Report (
+  report_debug,
+  report_error,
+  report_info,
+  report_warning )
+where
+
+import Logging (
+  log_debug,
+  log_error,
+  log_info,
+  log_warning )
+import 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