Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Logging / Lifted.hs @ 015278eb

History | View | Annotate | Download (2.2 kB)

1 015278eb Petr Pudlak
{-| Ganeti logging functions expressed using MonadBase
2 015278eb Petr Pudlak
3 015278eb Petr Pudlak
This allows to use logging functions without having instances for all
4 015278eb Petr Pudlak
possible transformers.
5 015278eb Petr Pudlak
6 015278eb Petr Pudlak
-}
7 015278eb Petr Pudlak
8 015278eb Petr Pudlak
{-
9 015278eb Petr Pudlak
10 015278eb Petr Pudlak
Copyright (C) 2014 Google Inc.
11 015278eb Petr Pudlak
12 015278eb Petr Pudlak
This program is free software; you can redistribute it and/or modify
13 015278eb Petr Pudlak
it under the terms of the GNU General Public License as published by
14 015278eb Petr Pudlak
the Free Software Foundation; either version 2 of the License, or
15 015278eb Petr Pudlak
(at your option) any later version.
16 015278eb Petr Pudlak
17 015278eb Petr Pudlak
This program is distributed in the hope that it will be useful, but
18 015278eb Petr Pudlak
WITHOUT ANY WARRANTY; without even the implied warranty of
19 015278eb Petr Pudlak
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20 015278eb Petr Pudlak
General Public License for more details.
21 015278eb Petr Pudlak
22 015278eb Petr Pudlak
You should have received a copy of the GNU General Public License
23 015278eb Petr Pudlak
along with this program; if not, write to the Free Software
24 015278eb Petr Pudlak
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 015278eb Petr Pudlak
02110-1301, USA.
26 015278eb Petr Pudlak
27 015278eb Petr Pudlak
-}
28 015278eb Petr Pudlak
29 015278eb Petr Pudlak
module Ganeti.Logging.Lifted
30 015278eb Petr Pudlak
  ( MonadLog()
31 015278eb Petr Pudlak
  , Priority(..)
32 015278eb Petr Pudlak
  , L.withErrorLogAt
33 015278eb Petr Pudlak
  , L.isDebugMode
34 015278eb Petr Pudlak
  , logAt
35 015278eb Petr Pudlak
  , logDebug
36 015278eb Petr Pudlak
  , logInfo
37 015278eb Petr Pudlak
  , logNotice
38 015278eb Petr Pudlak
  , logWarning
39 015278eb Petr Pudlak
  , logError
40 015278eb Petr Pudlak
  , logCritical
41 015278eb Petr Pudlak
  , logAlert
42 015278eb Petr Pudlak
  , logEmergency
43 015278eb Petr Pudlak
  ) where
44 015278eb Petr Pudlak
45 015278eb Petr Pudlak
import Control.Monad.Base
46 015278eb Petr Pudlak
47 015278eb Petr Pudlak
import Ganeti.Logging (MonadLog, Priority(..))
48 015278eb Petr Pudlak
import qualified Ganeti.Logging as L
49 015278eb Petr Pudlak
50 015278eb Petr Pudlak
-- * Logging function aliases for MonadBase
51 015278eb Petr Pudlak
52 015278eb Petr Pudlak
-- | A monad that allows logging.
53 015278eb Petr Pudlak
logAt :: (MonadLog b, MonadBase b m) => Priority -> String -> m ()
54 015278eb Petr Pudlak
logAt p = liftBase . L.logAt p
55 015278eb Petr Pudlak
56 015278eb Petr Pudlak
-- | Log at debug level.
57 015278eb Petr Pudlak
logDebug :: (MonadLog b, MonadBase b m) => String -> m ()
58 015278eb Petr Pudlak
logDebug = logAt DEBUG
59 015278eb Petr Pudlak
60 015278eb Petr Pudlak
-- | Log at info level.
61 015278eb Petr Pudlak
logInfo :: (MonadLog b, MonadBase b m) => String -> m ()
62 015278eb Petr Pudlak
logInfo = logAt INFO
63 015278eb Petr Pudlak
64 015278eb Petr Pudlak
-- | Log at notice level.
65 015278eb Petr Pudlak
logNotice :: (MonadLog b, MonadBase b m) => String -> m ()
66 015278eb Petr Pudlak
logNotice = logAt NOTICE
67 015278eb Petr Pudlak
68 015278eb Petr Pudlak
-- | Log at warning level.
69 015278eb Petr Pudlak
logWarning :: (MonadLog b, MonadBase b m) => String -> m ()
70 015278eb Petr Pudlak
logWarning = logAt WARNING
71 015278eb Petr Pudlak
72 015278eb Petr Pudlak
-- | Log at error level.
73 015278eb Petr Pudlak
logError :: (MonadLog b, MonadBase b m) => String -> m ()
74 015278eb Petr Pudlak
logError = logAt ERROR
75 015278eb Petr Pudlak
76 015278eb Petr Pudlak
-- | Log at critical level.
77 015278eb Petr Pudlak
logCritical :: (MonadLog b, MonadBase b m) => String -> m ()
78 015278eb Petr Pudlak
logCritical = logAt CRITICAL
79 015278eb Petr Pudlak
80 015278eb Petr Pudlak
-- | Log at alert level.
81 015278eb Petr Pudlak
logAlert :: (MonadLog b, MonadBase b m) => String -> m ()
82 015278eb Petr Pudlak
logAlert = logAt ALERT
83 015278eb Petr Pudlak
84 015278eb Petr Pudlak
-- | Log at emergency level.
85 015278eb Petr Pudlak
logEmergency :: (MonadLog b, MonadBase b m) => String -> m ()
86 015278eb Petr Pudlak
logEmergency = logAt EMERGENCY