3,y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxSafe&Command to loggerLog entry, scope or messageType to initialize rule updaterLog Logger$Converts message some representation Log messageRule for politicsScope politics!Level of message(Default politics)Debug politics*Trace politics+Silent politics,Supress all messages politics- Make rule.Absolute scope-path/Relative scope-path0Scope-path for child1Root scope-path2Scope-path by text p/ -- root foo/bar -- relative /foo/bar -- absolute foo/bar/ -- child of relative /foo/bar/ -- child of absolute 3 Rule by path4Just set new politics5Use predefined politics6Set new low level7Set new high level8*Convert consumer creater to logger creater9 Empty log: Create logMessages 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<Wait log messages and stop log= New log-scope>/New log-scope with lifting exceptions as errors?'New log-scope with tracing scope result@+Apply commands to construct list of entriesA'Flatten entries to raw list of commandsB Apply rulesyApply rules to pathKz{  !"#$%&'()*+,-./0123456789|}~:;<=>?@AByCC  !#&$"%'()*+,-./0123456789:;<=>?@ABC!"#$%&' ()*+,-./01234567@AB 8 9:;<=>?/z{  !"#$%&'()*+,-./0123456789|}~:;<=>?@AByCSafe:P Parse ruleFormat: path: rule1, rule2 where "path" is argument for 2, and "rule" is one of low low-value for 6high high-value for 7set low-value high-value for 4 use predefind for 5 Examples: 6/: use trace /foo: low trace foo/bar/quux: use silent RTry parse rule ignoring errorsSTry parse rules ignoring errors Value namesPredefined politicsTConstant rulesURules from mvarVRules from file PQRSTUVPQRSTUVPQRSTUV PQRSTUVSafeWWWWSafeXXXXNone9;<=IbScope with log all exceptionsc%Workaround: we must explicitely post dScope with log exceptions from ) | Workaround: we must explicitely post eScope with tracing resultg Ignore errorhIgnore MonadError errori Trace valueYZ[\]^_`abcdefghijklmYZ[\]^_`abcdefghiYZ[^_`abcdefghi\]YZ[\]^_`abcdefghijklmSafevDefault time formatw#Text log converter with time formatx+Text log converter with default time formatvwxvwxvwxvwxNone]  !#&$"%'()*+,-./0123456789:;<=>?PQRSTUVWXYZ[\]^_`abcdefghivwx        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&simple-log-0.5.0-x6Frh2UBDcH2JDpAh74TpSystem.Log.Simple.BaseSystem.Log.Simple.ConfigSystem.Log.Simple.ConsoleSystem.Log.Simple.FileSystem.Log.Simple.MonadSystem.Log.Simple.TextSystem.Log.SimpleCommand EnterScope LeaveScope PostMessageEntryScope RulesLoadLoglogPostlogStoplogRulesLoggerConsumer withConsumer ConverterMessage messageTime messageLevel messagePath messageTextRulesRulerulePath rulePoliticsPolitics politicsLow politicsHighLevelTraceDebugInfoWarningErrorFataldefaultPolitics debugPolitics tracePoliticssilentPoliticssupressPoliticsruleabsoluterelativechildrootpath%=politicsuselowhighloggernoLognewLogwriteLogstopLog scopeLog_scopeLog scoperLogentriesflattenrules$fNFDataMessage $fEqLevel $fOrdLevel $fReadLevel $fShowLevel $fEnumLevel$fBoundedLevel $fEqPolitics $fOrdPolitics$fReadPolitics$fShowPolitics $fReadMessage $fShowMessage parseRule parseRules parseRule_ parseRules_constantmvarfileCfgconsolefileLogTrunLogTMonadLogaskLog withNoLogwithLoglogscope_scopescopeM_scopeMscoperscoperM ignoreError ignoreErrorMtrace$fMonadLogLogT$fMonadLogWriterT$fMonadLogStateT$fMonadLogReaderT $fFunctorLogT$fApplicativeLogT $fMonadLogT $fMonadIOLogT$fMonadReaderLogT$fMonadThrowLogT$fMonadCatchLogT$fMonadMaskLogTdefaultTimeFormattextFmttextapplyFChan ThreadMap writeFChan stopFChangetFChanContents foldEntryvalues predefineds mtl-2.2.1-6qsR1PHUy5lL47Hpoa4jCMControl.Monad.Error.Class MonadError