99      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./012345678None !"05If]Severity is level of log message importance. It uniquely determines which messages to print.Debug messages Information)Important (more than average) informationGeneral warningsGeneral errors/severe errorsInternal type of log records. None !"05If9=Data structure similar to queue but pops out elements after : if ; > <.=Class for objects that have size. Implementations can take size as amount of memory items take, as amount of items in container, etc.>Creates new memory queue.?Removes last element from 9.:jAdd new element at the beginning removing elements from the end until size become not greater than limit.@#Converts queue to list of messages.9ABCD=EF<;G>?:@ 9ABCD=E>?:@ 9ABCD=EF<;G>?:@None !"05IfLogger name to keep in context. formatter which restricts type.Defined such that n1 is parent for  (n1 <> n2) (see  Nhttp://hackage.haskell.org/package/hslogger-1.2.10/docs/System-Log-Logger.htmlhslogger description).None!"059;<=DIRfDefault implementation of WithNamedLogger. pThis type class exists to remove boilerplate logging by adding the logger's name to the context in each module.(TODO: replace current methods with Lens?! Extract logger name from context"Change logger name in context#Set logger name in context.$Runs a  with specified initial . !"#$%&'()*+,-./01 !"#$ !"#$ !"#$%&'()*+,-./01None!"05If>-Performs given action on file if file exists.>>>>(c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone!"05IfHEDefines pre- and post-printed characters for printing colorized text.IColorizes string text.J Colorizes Text.HIJIJHIJ(c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone !"$05If?UA LogFormatter is used to format log messages. Note that it is paramterized on the Handlery to allow the formatter to use information specific to the handler (an example of can be seen in the formatter used in )@<Returns the passed message as is, ie. no formatting is done.K Replace some L+ variables in a string with supplied valuesA3An extensible formatter that allows new substition  variables to be defined. Each variable has an associated IO action that is used to produce the string to substitute for the variable name. The predefined variables are the same as for C  excluding $time and $utcTime.BLike CW but allow the time format to be specified in the first parameter (this is passed to )CTakes a format string, and returns a formatter that may be used to format log messages. The format string may contain variables prefixed with a $-sign which will be replaced at runtime with corresponding values. The currently supported variables are:$msg - The actual log message $loggername - The name of the logger$prio$ - The priority level of the message$tid - The thread ID$pid* - Process ID (Not available on windows)$time - The current time$utcTime - The current time in UTC TimeISame as H, but with colorful output?0The LogHandler that the passed message came fromThe log message and priorityThe logger nameThe formatted log message@KEA list of (variableName, action to get the replacement string) pairs!String to perform substitution onResulting stringABCMNDEOFGHI ?@ABCDEFGHI HIFEGD?@CBA?@KABCMNDEOFGHI$Copyright (C) 2004-2011 John GoerzenBSD3$John Goerzen <jgoerzen@complete.org> provisionalportableNone !"05:DIRf J\This is the base class for the various log handlers. They should all adhere to this class.K6Tag of handler. Is arbitrary. Made for identification.LSets the log level. P% will drop items beneath this level.MGets the current level.N@Set a log formatter to customize the log format for this HandlerPMLogs an event if it meets the requirements given by the most recent call to L.QAForces an event to be logged regardless of the configured level.RxRead back from logger (e.g. file), newest first. You specify the number of (newest) logging entries. Logger can return pure []5 if this behaviour can't be emulated or store buffer.SDCloses the logging system, causing it to close any open files, etc.TTag identifying handlers. JKLMNOPQRSTUV JSPKQNMLROTUV TUVJKLMNOPQRSJ KLMNOPQRSTUV$Copyright (C) 2004-2011 John GoerzenBSD3$John Goerzen <jgoerzen@complete.org> provisionalportableNone !"05DIRfYA helper data type.byCreate a stream log handler. Log messages sent to this handler will be sent to the stream used initially. Note that the Sc method will have no effect on stream handlers; it does not actually close the underlying stream.cCreate a file log handler. Log messages sent to this handler will be sent to the filename specified, which will be opened in Append mode. Calling S$ on the handler will close the file.dLike bA, but note the priority and logger name along with each message. YZ[\]^_`abcde YZ[\]^_`abcd bcYZ[\]^_`adYZ[\]^_`abcde$Copyright (C) 2004-2011 John GoerzenBSD3$John Goerzen <jgoerzen@complete.org> provisionalportableNone !"05AILT\fhPThe name of the root logger, which is always defined and present on the system.P7The log tree. Initialize it with a default root logger.QXGiven a name, return all components of it, starting from the root. Example return value: >["", "MissingH", "System.Cmd.Utils", "System.Cmd.Utils.pOpen"]i9Log a message using the given logger at a given priority.kLog a message at  priority lLog a message at  priority mLog a message at  priority nLog a message at  priority oLog a message at  priority pReturns the logger for the given name. If no logger with that name exists, creates new loggers and any necessary parent loggers, with no connected handlers.qReturns the root logger.r>Log a message, assuming the current logger's level permits it.sLogs a message with condition.RHandle a log request.tSets file prefix to S.uAdd handler to f. Returns a new f.vRemove a handler from the fg. Handlers are removed in the reverse order they were added, so the following property holds for any J h: !removeHandler . addHandler h = id'If no handlers are associated with the f, it is returned unchanged.The root logger's default handler that writes every message to stderr can be removed by using this function before any handlers have been added to the root logger: /updateGlobalLogger rootLoggerName removeHandlerwSet the  'Logger'\'Rs list of handlers to the list supplied. All existing handlers are removed first.xNReturns the "level" of the logger. Items beneath this level will be ignored.ySets the "level" of the f. Returns a new f object with the new level.zClears the "level" of the f2. It will now inherit the level of | its parent.{cUpdates the global record for the given logger to take into account any changes you may have made.|Helps you make changes on the given logger. Takes a function that makes changes and writes those changes back to the global database. Here's an example from above ("s" is a J): _updateGlobalLogger "MyApp.BuggyComponent" (setLevel DEBUG . setHandlers [s])}1Allow graceful shutdown. Release all opened fileshandlersetc.~DTraps exceptions that may occur, logging them, then passing them on.LTakes a logger name, priority, leading description text (you can set it to ""+ if you don't want any), and action to run.1Retrieves content of log file(s) given path (w/o  _lcFilePrefix2, as specified in your config). Example: there's  component.log+ in config, but this function will return '[component.log.122, component.log.123]5 if you want to. Content is file lines newest first.FYI: this function is implemented to avoid the following problem: log-warper holds open handles to files, so trying to open log file for read would result in  IOException.T:This function pulled in from MissingH to avoid a dep on it-fUVWXYZS[\]^_`ahPQiName of the logger to useSeverity of this messageThe log text itselfjk Logger name Log messagel Logger name Log messagem Logger name Log messagen Logger name Log messageo Logger name Log messagepqrsRtuvwxyz{| Logger nameFunction to call}~ Logger nameLogging priority.Descriptive text to prepend to logged messages Action to run Return valueTbcfhijklmnopqrstuvwxyz{|}~fijklmno}~rspqhuvwxyz{|t%fUVWXYZS[\]^_`ahPQijklmnopqrsRtuvwxyz{|}~Tbc $Copyright (C) 2004-2011 John GoerzenBSD3$John Goerzen <jgoerzen@complete.org> provisionalportableNone !"05DIRf Options for .4Automatically log process ID (PID) with each message%Send a copy of each message to stderrHFacilities are used by the system to determine where messages are sent. BKernel messages; you should likely never use this in your programsCGeneral userland messages. Use this if nothing else is appropriate E-Mail system Daemon (server process) messages#Authentication or security messagesKInternal syslog messages; you should likely never use this in your programsPrinter messages Usenet news UUCP messages Cron messagesPrivate authentication messages FTP messagesCLOCAL0 through LOCAL7 are reserved for you to customize as you wishfInitialize the Syslog system using the local system's default interface, /dev/log. Will return a new .On Windows, instead of using /dev/log, this will attempt to send UDP messages to something listening on the syslog port (514) on localhost.Use  if you need more control.CInitialize the Syslog system using an arbitrary Unix socket (FIFO).Not supported under Windows. Log to a remote server via UDP. LThe most powerful initialization mechanism. Takes an open datagram socket. +defghijklmnoCThe name of this program -- will be prepended to every log message A list of 's. The list [] is perfectly valid. [ ] is probably most common here.The = value to pass to the syslog system for every message logged]Messages logged below this priority will be ignored. To include every message, set this to DEBUG.Returns the new handler Path to FIFO Program namesFacility valueSeverity limit/Usually AF_INET or AF_INET6; see Network.SocketRemote hostname. Some use  localhost514 is the default for syslog Program namesFacility valueSeverity limitA datagram socketAddress for transmissions*socket connection mode (stream / datagram) Program namesFacility valueSeverity limitp defghijklmnop (c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone!"$05IfqLike b, but syncronized using given r: as lock (it should be filled before this function call).This function initializes global logging system for terminal output. At high level, it sets severity which will be used by all loggers by default, sets default formatters and sets custom severity for given loggers (if any).>NOTE: you probably don't want to use this function. Consider  .On a lower level it does the following: 1. Removes default handler from root logger, sets two handlers such that: 1.1. All messages are printed to stdout(. 1.2. Moreover messages with at least  severity are printed to stderrq. 2. Sets given Severity to root logger, so that it will be used by descendant loggers by default. 3. Applies / to given loggers. It can be done later using  directly.DSet severity for given logger. By default parent's severity is used.Set or clear severity.Lifted alias to }.q Show time?Show ThreadId?  q (c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone !"05:ITf:Wrapper over file handler with additional rounding option.Path to the file to be handled.,Amount of seconds to round time on (if set)..Stores configuration for hierarchical loggers.!Logger configuration which keeps  and .+Rotation parameters for logger config. See .!Severity for terminal output. If Nothing then Warning is used.RShow time for non-error messages. Note that error messages always have timestamp.Show ThreadId for current logging thread.True- if we should also print output into console.0Defines how to transform logger names in config.'Path prefix to add for each logger fileHierarchical tree of loggers. Parameters for logging rotation.max size of file in bytesnumber of files to keep[Useful lens combinator to be used for logging initialization. Usually should be used with .3Zooming into logger name with putting specific key./Checks if logger rotation parameters are valid.Setup  to s inside .Setup  to s inside .Setup  inside .5Adds sensible predefined set of parameters to logger.Setup  inside .Setup  inside .This instances violates fromJSON . toJSON = identity@ rule but doesn't matter because it is used only for debugging.<tuv..)t uv None!"05If Similar to Y. But holds file w inside mutable variable (r) to be able to rotate loggers. Create rotation logging handler.xy xy (c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone !"05AITfThis function traverses # initializing all subloggers with / and redirecting output in file handlers. See  for more details.*Parses logger config from given file path.FApplies given builder to parsed logger config and initializes logging.RInitialize logger hierarchy from configuration file. See this module description.z{z{None!"$*/0569;<=DIORTf#Holds all required information for dispatchLoggerName function.JInstances of this class should explain how they add messages to their log.Type alias for constraints  and  s. We need two different type classes to support more flexible interface but in practice we usually use them both.Pure implementation of X type class. Instead of writing log messages into console it appends log messages into | log. It uses DList] for better performance, because messages can be added only at the end of log. But it uses unsafePerformIO so use with caution within IO.TODO: Should we use some  Data.Tree@-like structure to observe message only by chosen logger names?-Return log of pure logging action as list of . Logs all  LogEvent'<s from given list. This function supposed to be used after .4Performs actual logging once given action completes.-Return log of pure logging action as list of ), using logger name provided by context. Similar as 0, but provides logger name from current context. Shortcut for  to use according severity. Shortcut for  to use according severity. Shortcut for  to use according severity. Shortcut for  to use according severity. Shortcut for  to use according severity.BLogs message with specified severity using logger name in context.'     !"#       !"#(c) Serokell, 2016GPL-3 (see the file LICENSE)Serokell <hi@serokell.io> experimental POSIX, GHCNone!"05If !"#$>YZ[\]^_`abcdfhijklmnopqrstuvwxyz{|}~ } !"#$%&'()**+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoopqrstuvwxyz{|}~cb                                                     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIBJKLMNOPQRSTUVWXYZ[f\]{^_`aa\bcdefghi  j k l m n o p q q r s t uvwxyz{ | } ~v    &log-warper-1.2.2-7airISvEqJlVLUNGNYVtHSystem.Wlog.SeveritySystem.Wlog.LoggerNameSystem.Wlog.LoggerNameBoxSystem.Wlog.FileUtilsSystem.Wlog.FormatterSystem.Wlog.HandlerSystem.Wlog.Handler.SimpleSystem.Wlog.LoggerSystem.Wlog.Handler.SyslogSystem.Wlog.WrapperSystem.Wlog.LoggerConfigSystem.Wlog.Handler.RollerSystem.Wlog.LauncherSystem.Wlog.CanLogSystem.Wlog.MemoryQueueSystem.Wlog.ColorSystem.Log.HandlerSyslogDate.Time.Format formatTime LogHandler setupLogging System.WlogRollerSeverityDebugInfoNoticeWarningError$fToJSONSeverity$fFromJSONSeverity $fEqSeverity $fOrdSeverity$fEnumSeverity$fBoundedSeverity$fShowSeverity$fReadSeverity$fGenericSeverity LogRecord$fSafeCopySeverity LoggerName loggerName$fShowLoggerName$fIsStringLoggerName$fEqLoggerName$fHashableLoggerName loggerNameF$fBuildableLoggerName$fMonoidLoggerName$fSemigroupLoggerName$fSafeCopyLoggerName LoggerNameBoxloggerNameBoxEntry HasLoggerName getLoggerNamemodifyLoggerName setLoggerNameusingLoggerName$fHasLoggerNameLoggerNameBox$fMFunctorTYPELoggerNameBox $fMonadBaseControlbLoggerNameBox$fMonadReaderrLoggerNameBox$fHasLoggerNameIdentity$fHasLoggerNameRWST$fHasLoggerNameRWST0$fHasLoggerNameContT$fHasLoggerNameExceptT$fHasLoggerNameWriterT$fHasLoggerNameStateT$fHasLoggerNameStateT0$fHasLoggerNameReaderT$fFunctorLoggerNameBox$fApplicativeLoggerNameBox$fMonadLoggerNameBox$fMonadIOLoggerNameBox$fMonadTransLoggerNameBox$fMonadBaseLoggerNameBox$fMonadThrowLoggerNameBox$fMonadCatchLoggerNameBox$fMonadMaskLoggerNameBox$fMonadErrorLoggerNameBox$fMonadStateLoggerNameBox$fMonadFixLoggerNameBox whenExist LogFormatter nullFormatter varFormattertfLogFormattersimpleLogFormattergetRoundedTimestderrFormatterstdoutFormatterstdoutFormatterTimeRoundedformatLogMessageformatLogMessageColorsgetTagsetLevelgetLevel setFormatter getFormatterhandleemitreadBackclose LogHandlerTagHandlerFilelike HandlerOther$fShowLogHandlerTag$fEqLogHandlerTagGenericHandlerseverity formatterprivData writeFunc closeFuncreadBackBufferghTag streamHandler fileHandlerverboseStreamHandler$fLogHandlerGenericHandlerLogger$fGenericLoggerrootLoggerNamelogMlogMConddebugMinfoMnoticeMwarningMerrorM getLogger getRootLoggerlogLlogLCond setPrefix addHandler removeHandler setHandlers clearLevelsaveGlobalLoggerupdateGlobalLoggerremoveAllHandlers traploggingretrieveLogContent$fGenericLogInternalState SyslogHandlerOptionPIDPERRORFacilityKERNUSERMAILDAEMONAUTHSYSLOGLPRNEWSUUCPCRONAUTHPRIVFTPLOCAL0LOCAL1LOCAL2LOCAL3LOCAL4LOCAL5LOCAL6LOCAL7openlog openlog_localopenlog_remoteopenlog_generic$fLogHandlerSyslogHandler $fEqFacility$fShowFacility$fReadFacility $fEqOption $fShowOption $fReadOptioninitTerminalLogging setSeveritysetSeverityMaybereleaseAllHandlers HandlerWrap _hwFilePath _hwRounding$fGenericHandlerWrap$fShowHandlerWrap LoggerTree _ltSubloggers_ltFiles _ltSeverity LoggerMap hwFilePath hwRounding$fGenericLoggerTree$fShowLoggerTree LoggerConfig _lcRotation_lcTermSeverity _lcShowTime _lcShowTid_lcConsoleOutput _lcMapper _lcFilePrefix_lcTreeRotationParameters rpLogLimit rpKeepFilesltFiles ltSeverity ltSubloggers fromScratch zoomLoggerisValidRotation$fFromJSONRotationParameters$fToJSONRotationParameters$fBuildableRotationParameters$fFromJSONLoggerTree$fToJSONLoggerTree$fFromJSONHandlerWrap$fToJSONHandlerWrap$fMonoidLoggerTree$fGenericRotationParameters$fShowRotationParameterslcConsoleOutput lcFilePrefixlcMapper lcRotation lcShowTid lcShowTimelcTermSeveritylcTree showTimeBshowTidB consoleOutB productionBmapperBprefixB$fToJSONLoggerConfig$fFromJSONLoggerConfig$fMonoidLoggerConfigInvalidRotation RollerHandler rhSeverity rhFormatter rhFileHandle rhWriteAction rhCloseAction rhFileNamelogIndexrotationFileHandler$fExceptionInvalidRotation$fLogHandlerRollerHandler$fShowInvalidRotation$fEqInvalidRotationparseLoggerConfigbuildAndSetupYamlLogginginitLoggingFromYamlLogEvent leLoggerName leSeverity leMessageCanLogdispatchMessage WithLogger $fCanLogRWST $fCanLogRWST0$fCanLogExceptT$fCanLogStateT$fCanLogStateT0$fCanLogReaderT$fCanLogLoggerNameBox $fCanLogIO$fShowLogEventNamedPureLoggerrunNamedPureLogger PureLogger runPureLogger runPureLogdispatchEvents launchPureLogrunNamedPureLoglaunchNamedPureLoglogDebuglogInfo logNotice logWarninglogError logMessage$fMFunctorTYPENamedPureLogger$fCanLogNamedPureLogger$fMonadTransNamedPureLogger$fMFunctorTYPEPureLogger$fCanLogPureLogger$fSafeCopyLogEvent$fFunctorPureLogger$fApplicativePureLogger$fMonadPureLogger$fMonadTransPureLogger$fMonadWriterPureLogger$fMonadBasePureLogger$fMonadStatePureLogger$fMonadReaderPureLogger$fMonadErrorPureLogger$fMonadThrowPureLogger$fHasLoggerNamePureLogger$fFunctorNamedPureLogger$fApplicativeNamedPureLogger$fMonadNamedPureLogger$fMonadWriterNamedPureLogger$fMonadBaseNamedPureLogger$fMonadStateNamedPureLogger$fMonadReaderNamedPureLogger$fMonadErrorNamedPureLogger$fMonadThrowNamedPureLogger$fHasLoggerNameNamedPureLogger MemoryQueue pushFront mqMemSizemqLimitSizednewMemoryQueuepopLasttoList_mqLimit _mqMemSize_mqQueuegetSize $fSizedTextmqQueuetable colorizer colorizerT replaceVarM-type-operators-0.1.0.4-8AYSNxfNBFr9pg9hN6TUpcControl.Type.Operator$timeFmt timeFmtStdout stdoutFmtlogInternalStatecomponentsOfNameLogInternalStatesplit_lLevel _lHandlers_lNameHandlerTliTreeliPrefixLogTree lHandlerslLevellName breakListspanListoptionsfacilityidentity logsocketaddress sock_typepriority code_of_pri code_of_facmakeCodesyslogFormatterstreamHandlerWithLockbaseGHC.MVarMVarghc-prim GHC.TypesTrue filterObject nonLoggerstopLevelParamsGHC.IO.Handle.TypesHandlerollerReadback rollerWriting HandlerFabrictransformers-0.5.2.0Control.Monad.Trans.Writer.LazyWriterT