úÎäNone5Generate hslogger functions for a list of priorities.Example usage: ¡module Foo.Bar ( ... ) where import System.Log.Logger.TH (deriveLoggers) import qualified System.Log.Logger as HSL $(deriveLoggers "HSL" [HSL.DEBUG, HSL.INFO])Used this way,  deriveLoggers( would generate the following functions: ŸinfoM :: MonadIO m => String -> m () infoM s = liftIO (HSL.infoM "Foo.Bar" s) debugM :: MonadIO m => String -> m () debugM s = liftIO (HSL.debugM "Foo.Bar" s)6The other hslogger priorities follow the same pattern.FIn versions prior to 2.0.0, hslogger-template generated functions that Hprepended the module name to the log message. I no longer feel that this Fis correct behavior. Instead, please make use of hslogger's formatting functionality. Example: ÿKimport System.IO (stderr) import System.Log.Formatter (simpleLogFormatter) import System.Log.Logger (rootLoggerName) import System.Log.Handler (setFormatter) import System.Log.Handler.Simple (streamHandler) import System.Log.Logger.TH (deriveLoggers) import qualified System.Log.Logger as HSL $(deriveLoggers "HSL" [HSL.DEBUG, HSL.INFO]) handler <- streamHandler stderr HSL.DEBUG >>= \h -> return $ setFormatter h $ simpleLogFormatter "$time $loggername $prio $msg" HSL.updateGlobalLogger rootLoggerName (HSL.setLevel HSL.DEBUG . HSL.setHandlers [handler])Like  deriveLoggersa, but allows you to specify a message prefix to be automatically prepended to every log message."Must match qualifier on import of System.Log.Logger.;List of priorities for which to generate logging functions.&Message prefix, e.g., "SomeProgram: "."Must match qualifier on import of System.Log.Logger.;List of priorities for which to generate logging functions.hslogger-template-2.0.3System.Log.Logger.TH deriveLoggersderiveNamedLoggers deriveLogger