mirror of
https://github.com/IBM/fp-go.git
synced 2025-06-23 00:27:49 +02:00
30 lines
626 B
Go
30 lines
626 B
Go
![]() |
package generic
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
|
||
|
Logging "github.com/ibm/fp-go/logging"
|
||
|
)
|
||
|
|
||
|
func Logger[GA ~func() any, A any](loggers ...*log.Logger) func(string) func(A) GA {
|
||
|
_, right := Logging.LoggingCallbacks(loggers...)
|
||
|
return func(prefix string) func(A) GA {
|
||
|
return func(a A) GA {
|
||
|
return FromImpure[GA](func() {
|
||
|
right("%s: %v", prefix, a)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Logf[GA ~func() any, A any](loggers ...*log.Logger) func(string) func(A) GA {
|
||
|
_, right := Logging.LoggingCallbacks(loggers...)
|
||
|
return func(prefix string) func(A) GA {
|
||
|
return func(a A) GA {
|
||
|
return FromImpure[GA](func() {
|
||
|
right(prefix, a)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
}
|