|
7 | 7 |
|
8 | 8 | import Kafka.Internal.RdKafka (rdKafkaConfSetErrorCb, rdKafkaConfSetLogCb, rdKafkaConfSetStatsCb)
|
9 | 9 | import Kafka.Internal.Setup (HasKafkaConf(..), getRdKafkaConf)
|
10 |
| -import Kafka.Types (KafkaError(..)) |
| 10 | +import Kafka.Types (KafkaError(..), KafkaLogLevel(..)) |
11 | 11 |
|
| 12 | +-- | Add a callback for errors. |
| 13 | +-- |
| 14 | +-- ==== __Examples__ |
| 15 | +-- |
| 16 | +-- Basic usage: |
| 17 | +-- |
| 18 | +-- > setCallback (errorCallback myErrorCallback) |
| 19 | +-- > |
| 20 | +-- > myErrorCallback :: KafkaError -> String -> IO () |
| 21 | +-- > myErrorCallback kafkaError message = print $ show kafkaError <> "|" <> message |
12 | 22 | errorCallback :: HasKafkaConf k => (KafkaError -> String -> IO ()) -> k -> IO ()
|
13 | 23 | errorCallback callback k =
|
14 | 24 | let realCb _ err = callback (KafkaResponseError err)
|
15 | 25 | in rdKafkaConfSetErrorCb (getRdKafkaConf k) realCb
|
16 | 26 |
|
17 |
| -logCallback :: HasKafkaConf k => (Int -> String -> String -> IO ()) -> k -> IO () |
| 27 | +-- | Add a callback for logs. |
| 28 | +-- |
| 29 | +-- ==== __Examples__ |
| 30 | +-- |
| 31 | +-- Basic usage: |
| 32 | +-- |
| 33 | +-- > setCallback (logCallback myLogCallback) |
| 34 | +-- > |
| 35 | +-- > myLogCallback :: KafkaLogLevel -> String -> String -> IO () |
| 36 | +-- > myLogCallback level facility message = print $ show level <> "|" <> facility <> "|" <> message |
| 37 | +logCallback :: HasKafkaConf k => (KafkaLogLevel -> String -> String -> IO ()) -> k -> IO () |
18 | 38 | logCallback callback k =
|
19 |
| - let realCb _ = callback |
| 39 | + let realCb _ = callback . toEnum |
20 | 40 | in rdKafkaConfSetLogCb (getRdKafkaConf k) realCb
|
21 | 41 |
|
| 42 | +-- | Add a callback for stats. |
| 43 | +-- |
| 44 | +-- ==== __Examples__ |
| 45 | +-- |
| 46 | +-- Basic usage: |
| 47 | +-- |
| 48 | +-- > setCallback (statsCallback mystatsCallback) |
| 49 | +-- > |
| 50 | +-- > mystatsCallback :: String -> IO () |
| 51 | +-- > mystatsCallback stats = print $ show stats |
22 | 52 | statsCallback :: HasKafkaConf k => (String -> IO ()) -> k -> IO ()
|
23 | 53 | statsCallback callback k =
|
24 | 54 | let realCb _ = callback
|
|
0 commit comments