!UQ 2      !"#$%&'()*+,-./01 Safe234567Safe#89:;<Safe=? fast-loggerLog message builder. Use (=) to append two LogStr in O(1). fast-loggerObtaining the length of . fast-logger Converting  to >. =?@A Trustworthy fast-logger&The type for buffer size of each core. fast-logger&The default buffer size (4,096 bytes).BCDE Safe JF fast-logger Writting 1 using a buffer in blocking mode. The size of 3 must be smaller or equal to the size of buffer.GHIJKSafe  fast-logger/Type aliaes for date format and formatted date.Safe-  fast-loggeroThe spec for time based rotation. It supports post processing of log files. Does not delete any logs. Example: timeRotate fname = LogFileTimedRotate (TimedFileLogSpec fname timeFormat sametime compressFile) defaultBufSize where timeFormat = "%FT%H%M%S" sametime = (==) on C8.takeWhile (/=Tv) compressFile fp = void . forkIO $ callProcess "tar" [ "--remove-files", "-caf", fp <> ".gz", fp ]  fast-loggerbase file path  fast-loggertime format to prepend  fast-loggerfunction that compares two formatted times as specified by timed_timefmt and decides if a new rotation is supposed to begin fast-loggerOprocessing function called asynchronously after a file is added to the rotation fast-loggerThe spec for logging files fast-logger7Max log file size (in bytes) before requiring rotation. fast-loggerQMax number of rotated log files to keep around before overwriting the oldest one. fast-logger&Checking if a log file can be written. fast-loggerRotating log files. fast-logger$Prefix file name with formatted time  None$L fast-loggerGet date using UnixTime.M fast-loggerFormat unix EpochTime date. fast-loggerMake N action which get cached formatted local time. Use this to avoid the cost of frequently time formatting by caching an auto updating formatted time, this cache update every 1 second. more detail in Control.AutoUpdate fast-logger!A simple time cache using format "%d%b %Y:%T %z" fast-logger!A simple time cache using format  "%d-%b-%Y %T"NoneO fast-logger Logger Type. fast-logger No logging. fast-loggerLogging to stdout. ) is a buffer size for each capability. fast-loggerLogging to stderr. ) is a buffer size for each capability. fast-loggerLogging to a file. ) is a buffer size for each capability. fast-loggerLogging to a file. M is a buffer size for each capability. File rotation is done on-demand.  fast-loggerLogging to a file. ] is a buffer size for each capability. Rotation happens based on check specified in  .! fast-loggerGLogging with a log and flush action. run flush after log each message." fast-logger" pass \ to callback and simply log its result. this can be used to customize how to log timestamp.-Usually, one would write a wrapper on top of ", for example: {- LANGUAGE OverloadedStrings z-} log :: TimedFastLogger -> LogStr -> IO () log logger msg = logger (time -> toLogStr (show time) <> " " <> msg <> "n") # fast-logger# simply log logStr.$ fast-loggerA set of loggers. The number of loggers is the capabilities of GHC RTS. You can specify it with "+RTS -N<x>". A buffer is prepared for each capability.% fast-loggerCreating a new $ using a file.& fast-loggerCreating a new $ using stdout.' fast-loggerCreating a new $ using stderr.( fast-loggerCreating a new $. If OY is specified to the second argument, stdout is used. Please note that the minimum  is 1.P fast-loggerCreating a new $ using a FD.) fast-loggerWriting a log message to the corresponding buffer. If the buffer becomes full, the log messages in the buffer are written to its corresponding file, stdout, or stderr.* fast-loggerSame as ) but also appends a newline.+ fast-loggeruFlushing log messages in buffers. This function must be called explicitly when the program is being terminated.Note: Since version 2.1.6, this function does not need to be explicitly called, as every push includes an auto-debounced flush courtesy of the auto-update package. Since version 2.2.2, this function can be used to force flushing outside of the debounced flush calls., fast-logger*Renewing the internal file information in $-. This does nothing for stdout and stderr.- fast-loggerWFlushing the buffers, closing the internal file information and freeing the buffers.. fast-logger Initialize a #Q without attaching timestamp a tuple of logger and clean up action are returned./ fast-loggerQ version of .0 fast-logger Initialize a #^ with timestamp attached to each message. a tuple of logger and clean up action are returned.1 fast-loggerQ version of newTimeFastLogger0 fast-loggerHow do we get ? System.Log.FastLogger.Date provide cached formatted time.2  !"#$%&'()*+,-./01$%&'(,-)*+#" !./01R     !"#$%&'()*+,-./0123456789:;<=>?@AB@CD@CE@CF@CG@HIJKL@HMJNO PQRS T U U V W XYZ[\]@^_`@abc)fast-logger-2.4.13-C7Mvm7Lb0qdCdEjExm4cIBSystem.Log.FastLoggerSystem.Log.FastLogger.TypesSystem.Log.FastLogger.FileSystem.Log.FastLogger.DateSystem.Log.FastLogger.FileIOSystem.Log.FastLogger.IORefSystem.Log.FastLogger.LogStrSystem.Log.FastLogger.IOSystem.Log.FastLogger.LoggerToLogStrtoLogStrLogStr logStrLength fromLogStrBufSizedefaultBufSize TimeFormat FormattedTimeTimedFileLogSpectimed_log_file timed_timefmttimed_same_timeframetimed_post_process FileLogSpeclog_file log_file_sizelog_backup_numbercheckrotate prefixTime newTimeCachesimpleTimeFormatsimpleTimeFormat'LogTypeLogNone LogStdout LogStderrLogFileNoRotateLogFileLogFileTimedRotate LogCallbackTimedFastLogger FastLogger LoggerSetnewFileLoggerSetnewStdoutLoggerSetnewStderrLoggerSet newLoggerSet pushLogStr pushLogStrLn flushLogStrrenewLoggerSet rmLoggerSet newFastLoggerwithFastLoggernewTimedFastLoggerwithTimedFastLoggerFDcloseFD openFileFD getStderrFD getStdoutFDwriteRawBufferPtr2FDbase Data.IORefatomicModifyIORef' GHC.IORef writeIORef readIORefnewIORefIORefGHC.Base<>bytestring-0.10.8.2Data.ByteString.Internal ByteStringmempty Data.ByteString.Builder.InternalBuilderBuffer getBuffer freeBuffer toBufIOWith writeLogStrLogger newLoggerpushLogflushLoggetTime formatDateghc-prim GHC.TypesIO GHC.MaybeNothingnewFDLoggerSetControl.Exception.Basebracket