!]X8G      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNoneGHIJSafe "#&'1:Xd; log4hs5A type class that abstracts the characteristics of a Klog4hs0A class represents a common trait of formatting . as L.Mlog4hs/A class represents a common trait of filtering .slog4hs 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.log4hsA GADT represents any  instancelog4hsSA 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. N and O.%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 ..)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.8log4hs8" also known as severity, a higher 8 means a bigger P.:log4hs: is just a name.@   KQRMS !"#$%&'()*+-,./0123456789:None"#XdIw ;log4hsRun 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 ...<log4hs$Run a logging environment from JSON T.A combinator of ; and =.Ulog4hsParse JSON to FormatterVlog4hsParse JSON to FilterWlog4hsParse JSON to Handler(T)Xlog4hsParse JSON to Sink=log4hsMake a  from JSON T.Ylog4hsyLow-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record.Zlog4hs!A ultility function for creating >log4hsA  bound to N?log4hsA  bound to O@log4hs#Default root sink which is used by = when root is missed.You can use it when you make  manually.;<=Y>?@NoneT!Alog4hs(Log "message" with the severity "level".The missing type signature: MonadIO m => : -> 8 -> L -> m ()Blog4hs'Log "message" with a specific severity.The missing type signature: MonadIO m => : -> L -> m ()Clog4hs'Log "message" with a specific severity.The missing type signature: MonadIO m => : -> L -> m ()Dlog4hs'Log "message" with a specific severity.The missing type signature: MonadIO m => : -> L -> m ()Elog4hs'Log "message" with a specific severity.The missing type signature: MonadIO m => : -> L -> m ()Flog4hs'Log "message" with a specific severity.The missing type signature: MonadIO m => : -> L -> m ()ABCDEF(c) 2019 Version CloudBSD3Jorah Gao <gqk007@gmail.com> experimentalportableNoneUG    !"#$%&'()*+-,./0123456789:;<=>?@ABCDEFG;<=>?@ABCDEF    !"#$%&'()*+-,./0123456789:SafeX[\]^_`abc      !!""#$%&'(()*+,,-.//01234567889:;<=>?@ABCDEFGHIJKLMNKOPKOQRSTUVWXYZ[\]^_`abcdefghi%log4hs-0.0.2.0-5axyAd1rNLeDijYzCHKwnJLoggingData.Aeson.Extra Logging.TypesLogging.Internal Logging.TH Paths_log4hsHandlergetLevelsetLevel getFilterer setFilterer getFormatter setFormatteracquirereleasewithemitflushclosehandleManager$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:SinkHandlerT StreamHandler$sel:stream:StreamHandler$sel:level:StreamHandler$sel:filterer:StreamHandler$sel:formatter:StreamHandler$sel:lock:StreamHandler Formatter$sel:fmt:Formatter$sel:datefmt:FormatterFiltererFilter$sel:name:Filter$sel:nlen:Filter LogRecord$sel:logger:LogRecord$sel:level:LogRecord$sel:message:LogRecord$sel:filename:LogRecord$sel:packagename:LogRecord$sel:modulename:LogRecord$sel:lineno:LogRecord$sel:created:LogRecordLevelLoggerrunrunJson jsonToManager stderrHandler stdoutHandler defaultRootlogvdebuginfowarnerrorfatal lookupObject lookupArray lookupString lookupBool FormattablebaseGHC.BaseString FilterableGHC.IO.Handle.FDstderrstdoutghc-prim GHC.TypesInt formatTimeformatfilter$aeson-1.4.4.0-LcNqBXYY7liADgIYnwObRIData.Aeson.Types.InternalValuejsonToFormatter jsonToFilter jsonToHandler jsonToSinklogmakeStreamHandlerversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName