Develop and Download Open Source Software

Browse Subversion Repository

Contents of /common/LogManager.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 279 - (show annotations) (download) (as text)
Wed Mar 12 05:28:19 2008 UTC (16 years, 2 months ago) by satofumi
File MIME type: text/x-chdr
File size: 2020 byte(s)
adjust tab index
1 #ifndef LOG_MANAGER_H
2 #define LOG_MANAGER_H
3
4 /*!
5 \file
6 \brief ログ管理クラス
7
8 \author Satofumi KAMIMURA
9
10 $Id$
11
12 \todo ID 番号で書き込みファイルを指定できるように変更する
13 */
14
15 #include <memory>
16
17
18 namespace beego {
19 /*!
20 \brief ログ管理クラス
21 */
22 class LogManager {
23 LogManager(void);
24 LogManager(const LogManager& rhs);
25 LogManager& operator = (const LogManager& rhs);
26
27 struct pImpl;
28 const std::auto_ptr<pImpl> pimpl;
29
30 public:
31 /*!
32 \brief エラーレベル
33 */
34 typedef enum {
35 NoWrite = 0, //!< 全メッセージの無視
36 Attack, //!< クラック
37 Error, //!< エラー
38 Warning, //!< 警告
39 Notice, //!< 注意
40 All, //!< 全メッセージの記録
41 } ErrorLevel;
42
43 ~LogManager(void);
44 static LogManager* getObject(int id = 0);
45
46 /*!
47 \brief ログファイル名を指定する
48
49 この関数は、最初に write() が呼ばれる前に呼び出されなければならない。
50
51 \param fileName [i] ログファイル名
52 */
53 void setFileName(const char* fileName, int id = 0);
54
55
56 /*!
57 \brief ファイルに記録しないエラーレベルを指定する
58
59 指定されたエラーレベルよりも低い記録をファイルに書き込まない。
60
61 \param mask [i] 書き込みを行うエラーレベル
62
63 \code
64 LogManager* log = LogManager::getObject();
65 log->setFileName("error_log.txt");
66
67 // Warning, Notice はファイルに書き込まれなくなる
68 log->setLogMask(Error);
69 ...
70
71 log->write(Error, "error!"); // 書き込まれる
72 log->write(Warning, "warning!"); // 書き込まれない
73 \endcode
74 */
75 void setLogMask(const ErrorLevel level, int id = 0);
76
77
78 /*!
79 \brief ログにメッセージを書き込む
80
81 このメソッド毎にメッセージは改行されて記録される。
82
83 \param level [i] ログレベル
84 \param message [i] メッセージ
85 */
86 void write(const ErrorLevel level, const char* message);
87 };
88 };
89
90 #endif /* !LOG_MANAGER_H */

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26