commore  1.0.6-SNAPSHOT
All Classes Namespaces Functions Variables Typedefs Enumerations Pages
LogHook.h
1 //
2 // Copyright (c) 2006-2014 Raphael David / CANTOR
3 //
4 
5 #ifndef CMR_LOG_HOOK_INCLUDED
6 #define CMR_LOG_HOOK_INCLUDED
7 
8 #include "AutoRef.h"
9 
10 
11 namespace commore
12 {
13  typedef Tuple LogMessage;
14  typedef ListTuple ListLogMessage;
15 
16  class LogHookManager;
21  class CMREXD LogHook : public RefObject
22  {
23  friend class LogHookManager;
24  protected:
25  public:
29  bool unhook();
33  bool hook();
34  public:
35  LogHook();
36  ~LogHook();
40  bool is_activated();
44  virtual void notify_activated(bool activate);
45 
49  virtual void message(const LogMessage& message);
50  private:
51  bool activated_;
52  bool hooked_;
53  };
54  typedef AutoRef<LogHook> PLogHook;
55 
56 
62  class CMREXD ConsoleLogHook : public AutoRef<LogHook>
63  {
64  public:
70  ConsoleLogHook(bool activate = true);
72  ConsoleLogHook& operator = (const ConsoleLogHook&);
73  ~ConsoleLogHook();
79  bool activate(bool activate = true);
80  };
81 
82 
86  class CMREXD FileLogHook : public AutoRef<LogHook>
87  {
88  private:
89  int max_line;
90  public:
95  FileLogHook(const AChar* dir, int max_line=132);
96  FileLogHook(const FileLogHook&);
97  FileLogHook& operator = (const FileLogHook&);
98  ~FileLogHook();
104  bool activate(bool activate = true);
105  };
106 
111  class CMREXD CatcherLogHook : public AutoRef<LogHook>
112  {
113  public:
114  CatcherLogHook(bool activate = true);
116  CatcherLogHook& operator = (const CatcherLogHook&);
117  ~CatcherLogHook();
122  bool activate();
128  bool deactivate(ListLogMessage& messages);
129  };
130 
135  class CMREXD SysLogHook : public AutoRef<LogHook>
136  {
137  public:
143  SysLogHook(const AChar* syslog_id, int facility, bool activate = true);
144 
145  SysLogHook(const SysLogHook&);
146  SysLogHook& operator = (const SysLogHook&);
147  ~SysLogHook();
153  bool activate(bool activate = true);
154  };
155 
156 }
157 
158 
159 #endif
160 
Definition: LogHook.h:135
Definition: Tuple.h:29
Definition: List.h:23
Definition: LogHook.h:21
Definition: LogHook.h:111
Definition: RefObject.h:89
Definition: LogHook.h:86
Definition: LogHook.h:62