09+7[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZNone%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 +Supress all messages politics , Make rule -Absolute scope-path .Relative scope-path /Scope-path for child 0Root scope-path 1Scope-path by text   / -- root  foo/bar -- relative  /foo/bar -- absolute  foo/bar/ -- child of relative  /foo/bar/ -- child of absolute 2 Rule by path 3Just set new politics 4Use predefined politics 5Set new low level 6Set new high level 7+Convert consumer creater to logger creater 8 Empty log 9 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 :Write 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 ?(Flatten entries to raw list of commands @ Apply rules [Apply rules to path D  !"#$%&'()*+,-./0123456789:;<=\>?@[]A  !"#$%&'()*+,-./0123456789:;<=>?@A &%$#"!'()*+,-./0123456 >?@ 7 89:;<=)  &%$#"!'()*+,-./0123456789:;<=\>?@[]NoneA Parse rule Format:   path: rule1, rule2 where "path" is argument for 1, and "rule" is one of   low low-value for 5  high high-value for 6  set low-value high-value for 3   use predefind for 4  Examples:   / : use trace  /foo: low trace  foo/bar/quux: use silent CTry parse rule ignoring errors D Try parse rules ignoring errors ^ Value names _Predefined politics EConstant rules FRules from mvar GRules from file ABCD^_EFGABCDEFGABCDEFG ABCD^_EFGNoneNScope with log all exceptions O%Workaround: we must explicitely post  PScope with log exceptions from ` ( | Workaround: we must explicitely post  QScope with tracing result S Ignore error TIgnore MonadError error U Trace value HIJKLMNOPQRSTUaHIJKLMNOPQRSTUJKLMNOPQRSTUHIHIJKLMNOPQRSTUaNoneVDefault time format W$Text log converter with time format X,Text log converter with default time format VWXVWXVWXVWXNoneYYYYNoneZZZZNoneT  !"#$%&'()*+,-./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZb       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefsimple-log-0.3.0System.Log.Simple.BaseSystem.Log.Simple.ConfigSystem.Log.Simple.MonadSystem.Log.Simple.TextSystem.Log.Simple.ConsoleSystem.Log.Simple.FileSystem.Log.SimpleCommand PostMessage LeaveScope EnterScopeEntryScope RulesLoadLoglogPostlogRulesLoggerConsumer withConsumer ConverterMessage messageTime messageLevel messagePath messageTextRulesRulerulePath rulePoliticsPolitics politicsLow politicsHighLevelFatalErrorWarningInfoDebugTracedefaultPolitics debugPolitics tracePoliticssilentPoliticssupressPoliticsruleabsoluterelativechildrootpath%=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