Compare commits

...

4 Commits

Author SHA1 Message Date
7849ddc90b Bump deps 2025-12-19 15:56:19 +01:00
d522dbaf4f Fix offset of severity 2024-11-01 22:12:37 +01:00
a6d4703bcd Add more colors to output 2024-11-01 18:12:06 +01:00
a7bfc69047 Update dependancy 2024-11-01 17:28:29 +01:00
6 changed files with 99 additions and 16 deletions

View File

@@ -26,10 +26,10 @@ dependencies:
- effectful >= 2.2.2.0 && < 3
- effectful-th == 1.*
- chronos >= 1.1.5 && < 2
- torsor == 0.1
- torsor == 0.1.*
- unliftio == 0.2.*
- co-log-core == 0.3.*
- bytestring == 0.11.*
- bytestring == 0.12.*
- string-conv == 0.2.*
ghc-options:
@@ -46,6 +46,17 @@ ghc-options:
library:
source-dirs: src
tests:
ris-utils-test:
main: Spec.hs
source-dirs: tests
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
dependencies:
- ris-utils
default-extensions:
- BangPatterns
- BlockArguments

View File

@@ -1,6 +1,6 @@
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.36.0.
-- This file has been generated from package.yaml by hpack version 0.38.1.
--
-- see: https://github.com/sol/hpack
@@ -56,7 +56,7 @@ library
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
build-depends:
base >=4.7 && <5
, bytestring ==0.11.*
, bytestring ==0.12.*
, chronos >=1.1.5 && <2
, co-log-core ==0.3.*
, effectful >=2.2.2.0 && <3
@@ -64,6 +64,57 @@ library
, effectful-th ==1.*
, string-conv ==0.2.*
, text ==2.*
, torsor ==0.1
, torsor ==0.1.*
, unliftio ==0.2.*
default-language: Haskell2010
test-suite ris-utils-test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Paths_ris_utils
hs-source-dirs:
tests
default-extensions:
BangPatterns
BlockArguments
ConstraintKinds
DataKinds
DeriveAnyClass
DeriveGeneric
DuplicateRecordFields
FlexibleContexts
FlexibleInstances
GADTs
LambdaCase
MultiParamTypeClasses
OverloadedLabels
OverloadedStrings
PolyKinds
QuasiQuotes
RankNTypes
ScopedTypeVariables
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
StandaloneDeriving
ImportQualifiedPost
LambdaCase
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
base >=4.7 && <5
, bytestring ==0.12.*
, chronos >=1.1.5 && <2
, co-log-core ==0.3.*
, effectful >=2.2.2.0 && <3
, effectful-core >=2.2.2.0 && <3
, effectful-th ==1.*
, ris-utils
, string-conv ==0.2.*
, text ==2.*
, torsor ==0.1.*
, unliftio ==0.2.*
default-language: Haskell2010

View File

@@ -18,7 +18,7 @@ module Effects.Log (
import Colog.Core
import Data.String (IsString (..))
import Data.String.Conv
import Data.Text (Text, justifyLeft)
import Data.Text (Text)
import Data.Text qualified as T
import Data.Text.IO qualified as T
import Data.Text.Lazy qualified as LT
@@ -82,10 +82,14 @@ stderrLogger =
)
fmtMessage :: WithSeverity LogData -> LogData
fmtMessage (WithSeverity txt sev) = "[" <> ls (justifyLeft 7 ' ' (colorSev sev)) <> "] - " <> txt
fmtMessage (WithSeverity txt sev) =
let sp = T.pack $ replicate (7 - length (show sev)) ' '
in "[" <> ls (colorSev sev <> sp) <> "] - " <> txt
where
colorSev :: Severity -> Text
colorSev W = colorNormal Red . tshow $ W
colorSev I = colorNormal Green . tshow $ I
colorSev W = colorNormal Yellow . tshow $ W
colorSev E = colorNormal Red . tshow $ E
colorSev a = tshow a
addTime ::

View File

@@ -17,8 +17,7 @@
#
# resolver: ./custom-snapshot.yaml
# resolver: https://example.com/snapshots/2018-01-01.yaml
resolver: lts-21.25
snapshot: lts-24.11
# User packages to be built.
# Various formats can be used as shown in the example below.
@@ -30,7 +29,7 @@ resolver: lts-21.25
# - auto-update
# - wai
packages:
- .
- .
# Dependency packages to be pulled from upstream that are not in the resolver.
# These entries can reference officially published versions as well as
# forks / in-progress versions pinned to a git hash. For example:

View File

@@ -1,12 +1,12 @@
# This file was autogenerated by Stack.
# You should not edit this file by hand.
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
# https://docs.haskellstack.org/en/stable/topics/lock_files
packages: []
snapshots:
- completed:
sha256: a81fb3877c4f9031e1325eb3935122e608d80715dc16b586eb11ddbff8671ecd
size: 640086
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/25.yaml
original: lts-21.25
sha256: 468e1afa06cd069e57554f10e84fdf1ac5e8893e3eefc503ef837e2449f7e60c
size: 726310
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/11.yaml
original: lts-24.11

18
tests/Spec.hs Normal file
View File

@@ -0,0 +1,18 @@
import Colog.Core
import Data.Text qualified as T
import Data.Text.Lazy qualified as LT
import Data.Text.Lazy.Builder qualified as T
import Effects.Log
gen :: String -> Severity -> String
gen str sev =
let (LogData d) = fmtMessage $ ls (T.pack str) `WithSeverity` sev
in T.unpack . LT.toStrict . T.toLazyText $ d
main :: IO ()
main = do
putStrLn " "
putStrLn $ gen "Test debug" D
putStrLn $ gen "Test info" I
putStrLn $ gen "Test warn" W
putStrLn $ gen "Test error" E