úÎ!dñ^ƒd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcNone"#&'7=>?@AXdkBÇlog4hs5A type class that abstracts the characteristics of a log4hs0A class represents a common trait of formatting * as d. log4hs/A class represents a common trait of filtering *s log4hs There is under normal circumstances7 just one Manager, which holds the hierarchy of sinks.log4hs% 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.log4hsDIt will pop up until root or the ancestor's propagation is disabledlog4hsSA handler type which writes logging records, appropriately formatted, to a stream.[Note that this class does not close the stream when the stream is a terminal device, e.g. e and f.Note:  FileHandler is an alias of !log4hsThe !C type is the root of the handler type hierarchy. It hold the real  instance#log4hs#*s are used to convert a LogRecord to text.#s need to know how a *8 is constructed. They are responsible for converting a *c to (usually) a string which can be interpreted by either a human or an external system. The base #m allows a formatting string to be specified. If none is supplied, the default value, "%(message)s" is used.The #N can be initialized with a format string which makes use of knowledge of the *E attributes - e.g. the default value mentioned above makes use of a  LogRecord'<s message attribute. Currently, the useful attributes in a * are described by:  %(logger)s$Name of the logger (logging channel) %(level)sdNumeric logging level for the message (DEBUG, INFO, WARN, ERROR, FATAL, LEVEL v) %(pathname)seFull pathname of the source file where the logging call was issued (if available) %(filename)sFilename portion of pathname %(module)s!Module (name portion of filename) %(lineno)dWSource line number where the logging call was issued (if available) %(created)faTime when the LogRecord was created (picoseconds since '1970-01-01 00:00:00') %(asctime)sTextual time when the * was created %(msecs)d(Millisecond portion of the creation time %(message)sThe main message passed to logv debug info ..&log4hssee Data.Time.Format'log4hsList of Filter(log4hs(-s are used to perform arbitrary filtering of *s.s and s can optionally use ( to filter records as desired. It allows events which are below a certain point in the sink hierarchy. For example, a filter 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.BH etc. If initialized name with the empty string, all events are passed.*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.4log4hs4" also known as severity, a higher 4 means a bigger g.#There are 5 common severity levels: DEBUGLevel 10INFOLevel 20WARNLevel 30ERRORLevel 40FATALLevel 50:set -XOverloadedStrings"DEBUG" :: LevelDEBUG"DEBUG" == (Level 10)True6log4hs6 is just a name.7   !"#$%&'()*+/,-.01234567645*+/,-.0123()'#$%&!"    None"#XdkN Olog4hsRun a logging environment.EYou should always write you application inside a logging environment. @rename "main" function to "originMain" (or whatever you call it)write "main" as below /main :: IO () main = run manager originMain ...hlog4hsyLow-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record.ilog4hs!A ultility function for creating Plog4hsA  bound to eQlog4hsA  bound to fRlog4hs#Default root sink which is used by  jsonToManager when root is missed.You can use it when you make   manually.OhPQRNoneXSlog4hs(Log "message" with the severity "level".The missing type signature: j m => 6 -> 4 -> d -> m ()Tlog4hs'Log "message" with a specific severity.The missing type signature: j m => 6 -> d -> m ()Ulog4hs'Log "message" with a specific severity.The missing type signature: j m => 6 -> d -> m ()Vlog4hs'Log "message" with a specific severity.The missing type signature: j m => 6 -> d -> m ()Wlog4hs'Log "message" with a specific severity.The missing type signature: j m => 6 -> d -> m ()Xlog4hs'Log "message" with a specific severity.The missing type signature: j m => 6 -> d -> m ()STUVWXNone"=?XdkX¢None[hblog4hs$Run a logging environment from JSON k.A combinator of O and lA combinator of c and OSee clog4hsMake a   from JSON kDecode  into  See bc(c) 2019 Version CloudBSD3 Jorah Gao <log4hs@version.cloud> experimentalportableNone\äC   !"#$%&'()*+/,-.0123456OPQRSTUVWXbc bcOPQRSTUVWX Safe^^mnopqrstu     !""#$%&'(())*+,--../01234567789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghfijfiklmnopfqrstsuv w x y z { | } ~%log4hs-0.0.6.0-9lczwBURIh470YrwQzP3ig Logging.TypesLogging Logging.AesonLogging.Internal Logging.THLogging.DeprecatedAesonValue Paths_log4hsHandleremitflushclosehandle fromHandler toHandler Formattableformat formatTime FilterablefilterManager$sel:root:Manager$sel:sinks:Manager$sel:disabled:Manager#$sel:catchUncaughtException:ManagerSink$sel:logger:Sink$sel:level:Sink$sel:filterer:Sink$sel:handlers:Sink$sel:disabled:Sink$sel:propagate:Sink StreamHandler$sel:stream:StreamHandler$sel:level:StreamHandler$sel:filterer:StreamHandler$sel:formatter:StreamHandler$sel:lock:StreamHandler SomeHandler Formatter$sel:fmt:Formatter$sel:datefmt:FormatterFiltererFilter LogRecord$sel:logger:LogRecord$sel:level:LogRecord$sel:message:LogRecord$sel:filename:LogRecord$sel:packagename:LogRecord$sel:modulename:LogRecord$sel:lineno:LogRecord$sel:created:LogRecordLevelLogger$fDefaultLevel $fEnumLevel$fIsStringLevel $fReadLevel $fShowLevel$fIsStringFilter$fDefaultFormatter$fFilterableFilter$fFilterable[]$fFormattableFormatter$fHandlerStreamHandler$fHandlerSomeHandler$fHasTypeMVarSomeHandler$fHasTypeFormatterSomeHandler$fHasType[]SomeHandler$fHasTypeLevelSomeHandler$fFilterableSink $fEqLevel $fOrdLevel $fReadFilter $fShowFilter $fEqFilter $fEqFormatter$fGenericStreamHandlerrun stderrHandler stdoutHandler defaultRootlogvdebuginfowarnerrorfatal $fFromJSON->$fFromJSONSink $fFromJSON->0 $fFromJSONIO $fFromJSONIO0$fFromJSONFormatter$fFromJSONFilter$fFromJSONLevel $fFromJSONIO1runJson jsonToManagerbaseGHC.BaseStringGHC.IO.Handle.FDstderrstdoutghc-prim GHC.TypesIntlogmakeStreamHandlerControl.Monad.IO.ClassMonadIO$aeson-1.4.4.0-4KBHtuUHf3rGRTxXrPSW9LData.Aeson.Types.InternalData.Aeson.Types.FromJSONfromJSONversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName