Skip to content

Commit 79caf8c

Browse files
authored
Fix handling of logging contextx in booster-dev (#4051)
This small PR: - adds `[request ID]` contexts to logs emitted from `booster-dev`, similarly to `kore-rpc-booster` - the above also makes the per-defined logging contexts `Booster.CLIOptions` useful again, as they did not match before due to the absence of `[request ID]` - redirects the log messages to a file if asked for - also lists the available logging formats in `--help`
1 parent a370dec commit 79caf8c

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

booster/library/Booster/CLOptions.hs

+5-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ data LogFormat
6666
= Standard
6767
| OneLine
6868
| Json
69-
deriving (Eq)
69+
deriving (Eq, Enum)
7070

7171
instance Show LogFormat where
7272
show = \case
@@ -155,7 +155,10 @@ parseLogOptions =
155155
( metavar "LOGFORMAT"
156156
<> value OneLine
157157
<> long "log-format"
158-
<> help "Format to output logs in"
158+
<> help
159+
( "Format to output logs in. Available formats: "
160+
<> intercalate ", " (map show $ enumFrom (toEnum @LogFormat 0))
161+
)
159162
<> showDefault
160163
)
161164
<*> many

dev-tools/booster-dev/Server.hs

+4-2
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ runServer port definitions defaultMain mLlvmLibrary rewriteOpts logFile mSMTOpti
143143
withFastLogger mTimeCache logFile $ \stderrLogger mFileLogger -> do
144144
let boosterContextLogger = case logFormat of
145145
Json -> Booster.Log.jsonLogger $ fromMaybe stderrLogger mFileLogger
146-
_ -> Booster.Log.textLogger stderrLogger
146+
_ -> Booster.Log.textLogger $ fromMaybe stderrLogger mFileLogger
147147
filteredBoosterContextLogger =
148148
flip Booster.Log.filterLogger boosterContextLogger $ \(Booster.Log.LogMessage (Booster.Flag alwaysDisplay) ctxts _) ->
149149
alwaysDisplay
@@ -163,10 +163,12 @@ runServer port definitions defaultMain mLlvmLibrary rewriteOpts logFile mSMTOpti
163163
}
164164
jsonRpcServer
165165
(serverSettings port "*")
166-
( const $
166+
( \rawReq req ->
167167
flip runReaderT (filteredBoosterContextLogger, toModifiersRep prettyPrintOptions)
168168
. Booster.Log.unLoggerT
169+
. Booster.Log.withContextFor (getReqId rawReq)
169170
. Booster.Log.withContext Booster.Log.CtxBooster
170171
. respond stateVar
172+
$ req
171173
)
172174
[handleSmtError, RpcError.handleErrorCall, RpcError.handleSomeException]

0 commit comments

Comments
 (0)