h*Ч      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno p q r s t u v w x y z { | } ~                                      1.1.2.2 Safe-Inferred"%&BlammoLike  , but treats  "trace" as below  Normally, 3 is the highest level, but it's common to use the trace level as more verbose than debug2. With this comparison in use, we can safely use  "trace" for that. 345678 345678 Safe-Inferred"%&QBlammoSet the number of  LoggerSet Buffers used by  fast-logger A value of  means to use getNumCapabilities. Higher is more performant, but may deliver messages out of order. The defualt is set for TTY usage (so, 1), but is also changed through N is used.3Support for this option depends on your version of  fast-logger:fast-logger | Destination Supported?>=3.1.1 | anywhereyes>=3.0.5 | fileyes>=3.0.5 | stdout/stderrno<3.0.5 | anywhereno!F3BCDE?@A;<=>GHIJKLMNOPQRSTUVWXYZ!F3BCDE?@A;<=>GHIJKLMNOPQRSTUVWXYZ Safe-Inferred"%&BlammoHow to parse the valueBlammo*How to turn the parsed value into a setterBlammoHow to parse the valueBlammo*How to turn the parsed value into a setter]^_`]^_` Safe-Inferred"%&AbBlammo-Non-visible decoration, such as color escapesBlammoRawabcedfabcedf Safe-Inferred"%&}j !"#$%&klmnj !"#$%&klmn  Safe-Inferred"%& qrstuvwxop qrstuvwxop  Safe-Inferred"%& BlammoReturn z/ consistent with whatever your logging is doingBlammoReturn z" consistent with logging, but for This is useful if you are building text to print to a handle that is not the one you are logging to.For example, say you are using, .LOG_COLOR=auto LOG_DESTINATION=@some-file.log !That will not log with color, so  will be noColor. If you're building other text to be printed out, you probably want to respect that LOG_COLOR=auto), so you would use this function instead.BlammoShort-cut for  BlammoShort-cut for  z{|}~z{|}~ Safe-Inferred"%&    Safe-Inferred"%& 5 Safe-Inferred"%& i Safe-Inferred"%&     Safe-Inferred"%&TBlammo Create a q7 that will capture log messages instead of logging themSee Blammo.Logging.LoggedMessages for more details.BlammoReturn the logged messages if  was used#If not, the empty list is returned.Blammo+ but ignore any messages that fail to parseBlammo but  if any messages failed to parseqop !"#$%&qop !"#$%& Safe-Inferred"%&6FBCDE?@A;<=>KLMNOPQqop 12 '()*+,-./06FBCDE?@A;<=>KLMNOPQqop 12 '()*+,-./0  Safe-Inferred"%&BlammoAdd context to any logging done from the request-handling threadBlammo, but have the  availableBlammo8Log requests (more accurately, responses) as they happen*In JSON format, logged messages look like: ${ ... message: { text: "GET foo*bar => 200 OK", meta: { method: GET, path: "foobar", query: "?baz=bat&quix=quo", status: { code: 200, message: OK }, durationMs: 1322.2, requestHeaders: { Authorization: "***", Accept: "text/html", Cookie: "***" }, responseHeaders: { Set-Cookie: "***", Expires: "never" } } } } Blammo'Change the source used for log messages Default is  requestLogger.BlammoChange how the clientIp field is determined)Default is looking up the first value in x-forwarded-for , then the  x-real-ip& header, then finally falling back to .BlammoChange how the  destinationIp field is determinedDefault is looking up the  x-real-ip header.NOTE2: Our default uses a somewhat loose definition of  destination. It would be more accurate to report the resolved IP address of the Host; header, but we don't have that available. Our default of  x-real-ip favors containerized Warp on AWS/ECS, where this value holds the ECS target container's IP address. This is valuable debugging information and could, if you squint, be considered a  destination.   Safe-Inferred"%&Blammo Construct a q% configured via environment variablesBlammo Construct a q0 configured via environment variables and use it8  FBCDE?@A;<=>qop '()*+,-./012KLMNOPQ !"#$%&'(&')&'*+,-+,.+,/+,0+,1+,2+,3+,4+,5+,6+,7+,89:;9:<9:=9:=9:>9:?9:@9:A9:B9:C9:D9EF9EG9EH9EI9EJ9EK9EL9EM9EN9EO9EP9EQRSTUVWXYZ[\]^_`abcdeTfghijklmnopqrstuVvwxyz{|}~                                                     %Blammo-1.1.2.2-KCSEKkT9UULGDnbI1hPpagData.Aeson.CompatBlammo.LoggingSystem.Log.FastLogger.Compat$Blammo.Logging.LogSettings.LogLevelsBlammo.Logging.TestBlammo.Logging.LogSettingsBlammo.Logging.LogSettings.Env Blammo.Logging.Terminal.LogPieceBlammo.Logging.Internal.LoggerBlammo.Logging.ColorsBlammo.Logging.TerminalBlammo.Logging.LoggerNetwork.Wai.Middleware.LoggingBlammo.Logging.SimpleBlammo Paths_Blammo$aeson-2.2.1.0-4xT1GVtvQYI7PJU3CYWcVrData.Aeson.KeyKeyfromTexttoTextData.Aeson.KeyMapKeyMapemptynull singletonfromListtoListData.Aeson.Types.InternalPairData.Aeson.Encoding.InternalSeriesData.Aeson.Types.ToJSON.=exceptions-0.10.7Control.Monad.Catch MonadMask(fast-logger-3.2.2-7MLQjejmdhu947UzxDu07fSystem.Log.FastLogger.LoggerSetnewFileLoggerSetNnewStdoutLoggerSetNnewStderrLoggerSetN*monad-logger-0.3.40-DtUqB4xIRlkGOcX9jU7tKGControl.Monad.LoggerLoggingT MonadLoggerIO askLoggerIO MonadLoggermonadLoggerLog LogSourceLogLevel LevelDebug LevelInfo LevelWarn LevelError LevelOther1monad-logger-aeson-0.4.1.3-2RMVotvIAha6vQZKRWlwyL#Control.Monad.Logger.Aeson.InternalMessage:# LoggedMessageloggedMessageTimestamploggedMessageLevelloggedMessageLocloggedMessageLogSourceloggedMessageThreadContextloggedMessageTextloggedMessageMetaControl.Monad.Logger.AesonlogDebuglogInfologWarnlogErrorlogOther logDebugNS logInfoNS logWarnNS logErrorNS logOtherNSwithThreadContextmyThreadContext LogLevels newLogLevels readLogLevels showLogLevelsshouldLogLeveldefaultLogLevels $fEqLogLevels$fShowLogLevelsLogColor LogColorAutoLogColorAlways LogColorNever LogFormat LogFormatJSONLogFormatTerminalLogDestinationLogDestinationStdoutLogDestinationStderrLogDestinationFile LogSettingsreadLogDestination readLogFormat readLogColordefaultLogSettingssetLogSettingsLevelssetLogSettingsDestinationsetLogSettingsFormatsetLogSettingsColorsetLogSettingsBreakpointsetLogSettingsConcurrencygetLogSettingsLevelsgetLogSettingsDestinationgetLogSettingsFormatgetLogSettingsColorgetLogSettingsBreakpointgetLogSettingsConcurrencyshouldColorAutoshouldColorHandle $fEqLogColor$fShowLogColorparseparser parseWith parserWithLogPiecelogPiecerender bytestring visibleLengthoffset$fIsStringLogPiece$fMonoidLogPiece$fSemigroupLogPieceLoggedMessagesnewLoggedMessages appendLogStrappendLogStrLngetLoggedMessages HasLoggerloggerLLogger lLogSettings lLoggerSet lReformat lShouldLog lShouldColorlLoggedMessages$fHasLoggerLoggerColorsgrayblackcyanmagentablueyellowgreenredbolddimnoColors getColorsgetColorsLoggergetColorsHandlegetColorsStdoutgetColorsStderrreformatTerminalgetLoggerLogSettingsgetLoggerReformatgetLoggerShouldLoggetLoggerShouldColor pushLogStrLn flushLogStr newLogger flushLogger pushLogger pushLoggerLn newTestLoggergetLoggedMessagesLenientgetLoggedMessagesUnsaferunLoggerLoggingTConfigaddThreadContextaddThreadContextFromRequest requestLogger defaultConfigsetConfigLogSourcesetConfigGetClientIpsetConfigGetDestinationIprequestLoggerWith newLoggerEnvrunSimpleLoggingTlgteghc-prim GHC.Classes>=base GHC.MaybeNothingendoVarendoGHC.IO.Handle.TypesHandleGHC.IO.StdHandlesstdoutstderrversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDir(unliftio-0.2.25.0-1ooivi7y2sSIo1oWUv4WjYUnliftIO.Exception throwString wai-3.2.4-7tgS2Z2xuRpLrFYfVOAtd6Network.Wai.InternalRequest remoteHost