/*Z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYNone$Command to logger Log entry, scope or message  Type to initialize rule updater Log Logger %Converts message some representation  Log message Rule for politics Scope politics Level of message 'Default politics (Debug politics )Trace politics *Silent politics + Make rule ,Absolute scope-path -Relative scope-path .Scope-path for child /Root scope-path 0Scope-path by text   / -- root  foo/bar -- relative  /foo/bar -- absolute  foo/bar/ -- child of relative  /foo/bar/ -- child of absolute 1 Rule by path 2Just set new politics 3Use predefined politics 4Set new low level 5Set new high level 6+Convert consumer creater to logger creater 7 Empty log 8 Create log Messages from distinct threads are splitted in several chans, where they are processed, and then messages combined back and sent to log-thread 9Write message to log :New log-scope ;0New log-scope with lifting exceptions as errors <(New log-scope with tracing scope result =,Apply commands to construct list of entries >)Flattern entries to raw list of messages ? Apply rules ZApply rules to path C  !"#$%&'()*+,-./0123456789:;<[=>?Z\@  !"#$%&'()*+,-./0123456789:;<=>?@ &%$#"!'()*+,-./012345 =>? 6 789:;<(  &%$#"!'()*+,-./0123456789:;<[=>?Z\None@ Parse rule Format:   path: rule1, rule2 where "path" is argument for 0, and "rule" is one of   low low-value for 4  high high-value for 5  set low-value high-value for 2   use predefind for 3  Examples:   / : use trace  /foo: low trace  foo/bar/quux: use silent BTry parse rule ignoring errors C Try parse rules ignoring errors ] Value names ^Predefined politics DConstant rules ERules from mvar FRules from file @ABC]^DEF@ABCDEF@ABCDEF @ABC]^DEFNoneMScope with log all exceptions N%Workaround: we must explicitely post  OScope with log exceptions from _ ( | Workaround: we must explicitely post  PScope with tracing result R Ignore error SIgnore MonadError error T Trace value GHIJKLMNOPQRST`GHIJKLMNOPQRSTIJKLMNOPQRSTGHGHIJKLMNOPQRST`NoneUDefault time format V$Text log converter with time format W,Text log converter with default time format UVWUVWUVWUVWNoneXXXXNoneYYYYNoneS  !"#$%&'()*+,-./012345678@ABCDEFGHIJKLMNOPQRSTUVWXYa       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdesimple-log-0.2.0System.Log.BaseSystem.Log.ConfigSystem.Log.MonadSystem.Log.TextSystem.Log.ConsoleSystem.Log.File System.LogCommand PostMessage LeaveScope EnterScopeEntryScope RulesLoadLoglogPostlogRulesLoggerConsumer withConsumer ConverterMessage messageTime messageLevel messagePath messageTextRulesRulerulePath rulePoliticsPolitics politicsLow politicsHighLevelFatalErrorWarningInfoDebugTracedefaultPolitics debugPolitics tracePoliticssilentPoliticsruleabsoluterelativechildrootpath%=politicsuselowhighloggernoLognewLogwriteLog scopeLog_scopeLog scoperLogentriesflattenrules parseRule parseRules parseRule_ parseRules_constantmvarfileCfgMonadLogaskLog withNoLogwithLoglogscope_scopescopeM_scopeMscoperscoperM ignoreError ignoreErrorMtracedefaultTimeFormattextFmttextconsolefileapply foldEntry$fNFDataMessagevalues predefineds mtl-2.1.2Control.Monad.Error.Class MonadError$fMonadLogReaderT