úÎ!w§nÏ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ Ž Safe…   Safe ì log4hs " also known as severity, a higher   means a bigger .#There are 5 common severity levels: DEBUGLevel 10INFOLevel 20WARNLevel 30ERRORLevel 40FATALLevel 50:set -XOverloadedStrings"DEBUG" :: LevelDEBUG"DEBUG" == (Level 10)True  Safe “log4hs is just a name. Safe"7d"log4hsA " represents an event being logged.rs are created every time something is logged. They contain all the information related to the event being logged.ŠIt includes the main message as well as information such as when the record was created, the source line where the logging call was made.! can be formatted into string by   from vformat package, see  for more information.ACurrently, the useful attributes in a LogRecord are described by: ' logger name of the logger, see 3 level logging level for the message, see  ÿ° message the main message passed to logv debug info .. pathname full pathname of the source file where the logging call was issued (if available) filename filename portion of pathname pkgname package name where the logging call was issued (if available) modulename module name (e.g. Main, Logging.Types) lineno source line number where the logging call was issued (if available) asctime ‘/ when the LogRecord was created utctime ’ when the LogRecord was created created timestamp when the LogRecord was created msecs millisecond portion of the creation time Format examples: › "{message}" "{logger} {level}: {message}" "{logger:<20.20s} {level:<8s}: {message}" "{asctime:%Y-%m-%dT%H:%M:%S%6Q%z} - {level} - {logger}] {message}" Safe#ylog4hs/A class represents a common trait of filtering sSafe"#-log4hsList of Filter log4hs -s are used to perform arbitrary filtering of s.Sinks and Handlers can optionally use   to filter is as desired. It allows events which are below a certain point in the sink hierarchy. For example, a   initialized with A.B& will allow events logged by loggers A.B, A.B.C, A.B.C.D, A.B.D etc. but not A.BB, B.A.B etc.<If initialized with the empty string, all events are passed..If initialized with a predicate function, the  will be considered as the Filter',s name, the function will be used to filter s.“log4hsIf two   s have same  (name), they are equal. !None &'=>?@Ak1Í"log4hs5A type class that abstracts the characteristics of a "(Note: Locking is not necessary, because # has done it on handle operations.)log4hsThe )D type is the root of the handler type hierarchy. It holds the real " instance "%&#'$()*None2( "%&#'$()*None"#7d4+log4hsSA handler type which writes logging records, appropriately formatted, to a stream.+,0-./None"#7d7Ä1log4hsxA handler type which writes logging records, appropriately formatted, to a file, it will rotate when file is too large. Since 0.3.08log4hs:Actual file size may be slightly larger than this value. 12:7634589None"#7d9©;log4hsQA handler type which writes logging records, appropriately formatted, to a file.;<BA@=>?None:+,0-./12:7634589;<BA@=>?None"#dI5Clog4hsC% represents a single logging channel.ÿiA "logging channel" indicates an area of an application. Exactly how an "area" is defined is up to the application developer. Since an application can have any number of areas, logging channels are identified by a unique string. Application areas can be nested (e.g. an area of "input processing" might include sub-areas "read CSV files", "read XLS files" and "read Gnumeric files"). To cater for this natural nesting, channel names are organized into a namespace hierarchy where levels are separated by periods, much like the Haskell module namespace. So in the instance given above, channel names might be Input for the upper level, and  Input.Csv,  Input.Xls and  Input.GnuJ for the sub-levels. There is no arbitrary limit to the depth of nesting.(Note: The namespaces are case sensitive.Jlog4hsDIt will pop up until root or the ancestor's propagation is disabledCDEFGHIJNone"#L«Klog4hs There is under normal circumstances7 just one Manager, which holds the hierarchy of sinks.Qlog4hs Initialize a K, open all its handlers.Rlog4hs Terminate a K, close all its handlers.KLMONPQRNoneMG  !"%&#'$()*+,0-./12:7634589;<BA@=>?CDEFGHIJKLMONPQRG !+,0-./;<BA@=>?12:7634589CDEFGHIJKLMONPQR)*"%&#'$(None"#XdkOšST”NoneZ Ulog4hs(Log "message" with the severity "level".The missing type signature: • m =>  ->   -> – -> S m ()Vlog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> S m ()Wlog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> S m ()Xlog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> S m ()Ylog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> S m ()Zlog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> S m ()UVWXYZUVWXYZNoneZrSTUVWXYZSTNone"#Zè—[Nonedæ\log4hs(Log "message" with the severity "level".The missing type signature: • m =>  ->   -> – -> m ()]log4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> m ()^log4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> m ()_log4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> m ()`log4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> m ()alog4hs'Log "message" with a specific severity.The missing type signature: • m =>  -> – -> m ()\]^_`a\]^_`aNoneeL\]^_`aNoneeš[\]^_`a[None"#7dgc|log4hsSee ˜, default is utf8.}log4hsDefault is 100 MB.~log4hsDefault is 10.bcdefhjgkilmnoprqstuvz|{wxy}~stuvz|{wxy}~lmnoprqefhjgkibcdNoneiËlog4hs decode a K from strict ™Œlog4hs decode a K from a file‹Œ‹Œ NonekClog4hs decode a K from strict ™Žlog4hs decode a K from a fileŽŽ(c) 2019 Version CloudBSD3 Jorah Gao <log4hs@version.cloud> experimentalportableNonelÆN  !"%&#'$()*+,0-./12:7634589;<BA@=>?CDEFGHIJKLMONPQR[\]^_`aSafen4  Safenžš›œžŸ ¡¢!"#$%&'()*+, - - . / / 0 1 2 3 4 5 6 7 8 9 : ;<=>??@ABCDEFGGHHIJKLMMNOPQRSTUVVWXYZ[\]]^_`abcddefghijklmnopqrsmnopqrttuvvwxyz{]]_`acb@HVMIJKL|}~€‚ƒ„…†‡ˆ‰Š‹Œ Œ Ž‘’“”•–”—˜™š›œ›žŸš› ¡¢£€ ¥ Š § š © ª « ¬­%log4hs-0.6.0.0-IueNoIxrKkHJCe9lK4kA0gLogging.Prelude Logging.Types Logging.MonadLogging.Monad.THLogging.GlobalLogging.Global.THLogging.Config.TypeLogging.Config.YamlLogging.Config.JsonLogging.Types.LevelLogging.Types.LoggerLogging.Types.RecordTextFormatLogging.Types.Class.FilterableLogging.Types.FilterLogging.Types.Class.HandlerGHC.IOHandleLogging.Types.Class$Logging.Types.Handlers.StreamHandler*Logging.Types.Handlers.RotatingFileHandler"Logging.Types.Handlers.FileHandlerLogging.Types.HandlersLogging.Types.SinkLogging.Types.ManagerLogging.Monad.InternalLogging.Global.Internal Logging.THLogging Logging.Utils Paths_log4hs addZonedTime diffZonedTimezonedTimeToPOSIXSeconds timestampseconds milliseconds microseconds openLogFile tryRenameFilemodifyBaseNameappendBaseName$fEqTextEncodingLevelLogger LogRecord$sel:logger:LogRecord$sel:level:LogRecord$sel:message:LogRecord$sel:pathname:LogRecord$sel:filename:LogRecord$sel:pkgname:LogRecord$sel:modulename:LogRecord$sel:lineno:LogRecord$sel:asctime:LogRecord$sel:utctime:LogRecord$sel:created:LogRecord$sel:msecs:LogRecord FilterablefilterFiltererFilterHandleropenemitclosehandle fromHandler toHandler SomeHandler StreamHandler$sel:level:StreamHandler$sel:filterer:StreamHandler$sel:formatter:StreamHandler$sel:stream:StreamHandlerRotatingFileHandler$sel:level:RotatingFileHandler!$sel:filterer:RotatingFileHandler"$sel:formatter:RotatingFileHandler$sel:file:RotatingFileHandler!$sel:encoding:RotatingFileHandler!$sel:maxBytes:RotatingFileHandler$$sel:backupCount:RotatingFileHandler$sel:stream:RotatingFileHandler FileHandler$sel:level:FileHandler$sel:filterer:FileHandler$sel:formatter:FileHandler$sel:file:FileHandler$sel:encoding:FileHandler$sel:stream:FileHandlerSink$sel:logger:Sink$sel:level:Sink$sel:filterer:Sink$sel:handlers:Sink$sel:disabled:Sink$sel:propagate:SinkManagerrootsinksdisabledcatchUncaughtException initialize terminateLoggingT runLoggingTlogvdebuginfowarnerrorfatalrunConfigException$sel:message:ConfigExceptionConfig$sel:sinks:Config$sel:handlers:Config$sel:formatters:Config$sel:disabled:Config"$sel:catchUncaughtException:Config$sel:file:StreamHandler$sel:encoding:StreamHandler$sel:maxBytes:StreamHandler$sel:backupCount:StreamHandler createManager$fFromJSONHandler$fFromJSONSink$fFromJSONConfig$fExceptionConfigException$fShowConfigException$fGenericHandler $fShowHandler $fGenericSink $fShowSink$fGenericConfig $fShowConfig getManagergetManagerFileghc-prim GHC.TypesInt&vformat-0.9.1.0-Gaidtw8cgJ4BFsL9WNwrss Text.Formatformat1 time-1.8.0.2&Data.Time.LocalTime.Internal.ZonedTime ZonedTime Data.Time.Clock.Internal.UTCTimeUTCTime $fEqFilterlogbaseControl.Monad.IO.ClassMonadIOGHC.BaseStringGHC.IO.EncodingmkTextEncodingbytestring-0.10.8.2Data.ByteString.Internal ByteStringversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName