# co-log-polysemy

[](https://github.com/co-log/co-log-polysemy/actions)
[![Hackage][hk-img-ps]][hk-ps]
[](https://github.com/co-log/co-log/blob/main/LICENSE)
`co-log-polysemy` package is a implementation of the
[co-log-core](http://hackage.haskell.org/package/co-log-core) logging based on
the [polysemy](http://hackage.haskell.org/package/polysemy) extensible
effects library.
## How to use
`co-log-polysemy` is compatible with the following GHC
versions - [supported versions](https://matrix.hackage.haskell.org/#/package/co-log-polysemy)
In order to start using `co-log-polysemy` in your project, you
will need to set it up with these easy steps:
1. Add the dependency on `co-log-polysemy` in your project's
`.cabal` file. For this, you should modify the `build-depends`
section according to the below section:
```haskell
build-depends: base ^>= LATEST_SUPPORTED_BASE
, co-log-core ^>= LATEST_VERSION
, polysemy ^>= LATEST_VERSION
```
2. To use this package, refer to the below example
```haskell
module Main (main) where
import Prelude hiding (log)
import Polysemy (Member, Sem, runM)
import Colog.Core.IO (logStringStdout)
import Colog.Polysemy (Log, log, runLogAction)
example :: Member (Log String) r => Sem r ()
example = do
log @String "First message..."
log @String "Second message..."
main :: IO ()
main = runM $ runLogAction @IO logStringStdout example
```
[hk-img-ps]: https://img.shields.io/hackage/v/co-log-polysemy.svg?logo=haskell
[hk-ps]: https://hackage.haskell.org/package/co-log-polysemy