LoggerInterface inspired by PHP PSR-3

Dependents:   LogIt

Committer:
sillevl
Date:
Thu Nov 24 14:25:31 2016 +0000
Revision:
1:8ee5fd3c1bf1
Parent:
0:13d1767f0c98
Child:
2:97f331aa4938
Child:
3:f1457069237f
Child:
4:96f938f3d98a
Add pure virtuals methods

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sillevl 0:13d1767f0c98 1
sillevl 1:8ee5fd3c1bf1 2 namespace Log{
sillevl 0:13d1767f0c98 3
sillevl 0:13d1767f0c98 4 class LoggerInterface
sillevl 0:13d1767f0c98 5 {
sillevl 0:13d1767f0c98 6 public:
sillevl 1:8ee5fd3c1bf1 7
sillevl 1:8ee5fd3c1bf1 8 enum Level {EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG};
sillevl 1:8ee5fd3c1bf1 9
sillevl 0:13d1767f0c98 10 /**
sillevl 0:13d1767f0c98 11 * System is unusable.
sillevl 0:13d1767f0c98 12 *
sillevl 0:13d1767f0c98 13 * @param string $message
sillevl 0:13d1767f0c98 14 */
sillevl 1:8ee5fd3c1bf1 15 virtual void emergency(char* message, ...) = 0;
sillevl 0:13d1767f0c98 16
sillevl 0:13d1767f0c98 17 /**
sillevl 0:13d1767f0c98 18 * Action must be taken immediately.
sillevl 0:13d1767f0c98 19 *
sillevl 0:13d1767f0c98 20 * Example: Entire website down, database unavailable, etc. This should
sillevl 0:13d1767f0c98 21 * trigger the SMS alerts and wake you up.
sillevl 0:13d1767f0c98 22 *
sillevl 0:13d1767f0c98 23 * @param string $message
sillevl 0:13d1767f0c98 24 */
sillevl 1:8ee5fd3c1bf1 25 virtual void alert(char* message, ...) = 0;
sillevl 0:13d1767f0c98 26
sillevl 0:13d1767f0c98 27 /**
sillevl 0:13d1767f0c98 28 * Critical conditions.
sillevl 0:13d1767f0c98 29 *
sillevl 0:13d1767f0c98 30 * Example: Application component unavailable, unexpected exception.
sillevl 0:13d1767f0c98 31 *
sillevl 0:13d1767f0c98 32 * @param string $message
sillevl 0:13d1767f0c98 33 */
sillevl 1:8ee5fd3c1bf1 34 virtual void critical(char* message, ...) = 0;
sillevl 0:13d1767f0c98 35
sillevl 0:13d1767f0c98 36 /**
sillevl 0:13d1767f0c98 37 * Runtime errors that do not require immediate action but should typically
sillevl 0:13d1767f0c98 38 * be logged and monitored.
sillevl 0:13d1767f0c98 39 *
sillevl 0:13d1767f0c98 40 * @param string $message
sillevl 0:13d1767f0c98 41 */
sillevl 1:8ee5fd3c1bf1 42 virtual void error(char* message, ...) = 0;
sillevl 0:13d1767f0c98 43
sillevl 0:13d1767f0c98 44 /**
sillevl 0:13d1767f0c98 45 * Exceptional occurrences that are not errors.
sillevl 0:13d1767f0c98 46 *
sillevl 0:13d1767f0c98 47 * Example: Use of deprecated APIs, poor use of an API, undesirable things
sillevl 0:13d1767f0c98 48 * that are not necessarily wrong.
sillevl 0:13d1767f0c98 49 *
sillevl 0:13d1767f0c98 50 * @param string $message
sillevl 0:13d1767f0c98 51 */
sillevl 1:8ee5fd3c1bf1 52 virtual void warning(char* message, ...) = 0;
sillevl 0:13d1767f0c98 53
sillevl 0:13d1767f0c98 54 /**
sillevl 0:13d1767f0c98 55 * Normal but significant events.
sillevl 0:13d1767f0c98 56 *
sillevl 0:13d1767f0c98 57 * @param string $message
sillevl 0:13d1767f0c98 58 */
sillevl 1:8ee5fd3c1bf1 59 virtual void notice(char* message, ...) = 0;
sillevl 0:13d1767f0c98 60
sillevl 0:13d1767f0c98 61 /**
sillevl 0:13d1767f0c98 62 * Interesting events.
sillevl 0:13d1767f0c98 63 *
sillevl 0:13d1767f0c98 64 * Example: User logs in, SQL logs.
sillevl 0:13d1767f0c98 65 *
sillevl 0:13d1767f0c98 66 * @param string $message
sillevl 0:13d1767f0c98 67 */
sillevl 1:8ee5fd3c1bf1 68 virtual void info(char* message, ...) = 0;
sillevl 0:13d1767f0c98 69
sillevl 0:13d1767f0c98 70 /**
sillevl 0:13d1767f0c98 71 * Detailed debug information.
sillevl 0:13d1767f0c98 72 *
sillevl 0:13d1767f0c98 73 * @param string $message
sillevl 0:13d1767f0c98 74 */
sillevl 1:8ee5fd3c1bf1 75 virtual void debug(char* message, ...) = 0;
sillevl 0:13d1767f0c98 76
sillevl 0:13d1767f0c98 77 /**
sillevl 0:13d1767f0c98 78 * Logs with an arbitrary level.
sillevl 0:13d1767f0c98 79 *
sillevl 0:13d1767f0c98 80 * @param mixed $level
sillevl 0:13d1767f0c98 81 * @param string $message
sillevl 0:13d1767f0c98 82 */
sillevl 1:8ee5fd3c1bf1 83 virtual void log(Level level, char* message, ...) = 0;
sillevl 1:8ee5fd3c1bf1 84 };
sillevl 1:8ee5fd3c1bf1 85
sillevl 0:13d1767f0c98 86 }