root / src / Ganeti / Logging / Lifted.hs @ 13d26b66
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 |