Copyright | (c) 2018-2020 Kowainik |
---|---|
License | MPL-2.0 |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
Introduces logging actions working in MonadIO
. These actions are very basic
and inefficient because they use the String
data type. If you don't want to
have extra dependencies and performance of logging is not the bottleneck of your
application, then these functions should be enough. Otherwise use functions from
the Colog.Actions module from the co-log
package.
Synopsis
- logStringStdout :: MonadIO m => LogAction m String
- logStringStderr :: MonadIO m => LogAction m String
- logStringHandle :: MonadIO m => Handle -> LogAction m String
- withLogStringFile :: MonadIO m => FilePath -> (LogAction m String -> IO r) -> IO r
- logPrint :: forall a m. (Show a, MonadIO m) => LogAction m a
- logPrintStderr :: forall a m. (Show a, MonadIO m) => LogAction m a
- logPrintHandle :: forall a m. (Show a, MonadIO m) => Handle -> LogAction m a
- withLogPrintFile :: forall a m r. (Show a, MonadIO m) => FilePath -> (LogAction m a -> IO r) -> IO r
- liftLogIO :: MonadIO m => LogAction IO msg -> LogAction m msg
String
actions
logStringStdout :: MonadIO m => LogAction m String Source #
Action that prints String
to stdout.
>>>
logStringStdout <& "foo"
foo
logStringStderr :: MonadIO m => LogAction m String Source #
Action that prints String
to stderr.
>>>
logStringStderr <& "foo"
foo
withLogStringFile :: MonadIO m => FilePath -> (LogAction m String -> IO r) -> IO r Source #
Action that prints String
to file. Instead of returning LogAction
it's
implemented in continuation-passing style because it's more efficient to open
file only once at the start of the application and write to Handle
instead of
opening file each time we need to write to it.
Opens file in AppendMode
.
>>>
logger action = action <& "foo"
>>>
withLogStringFile "/dev/stdout" logger
foo
Show
actions
logPrint :: forall a m. (Show a, MonadIO m) => LogAction m a Source #
Action that prints to stdout using Show
.
>>>
logPrint <& 5
5
logPrintStderr :: forall a m. (Show a, MonadIO m) => LogAction m a Source #
Action that prints to stderr using Show
.
>>>
logPrintStderr <& 5
5
withLogPrintFile :: forall a m r. (Show a, MonadIO m) => FilePath -> (LogAction m a -> IO r) -> IO r Source #
Action that prints to a file using Show
. See withLogStringFile
for details.