📄 category_8hh-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>log4cpp: Category.hh Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.2 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div><div class="nav"><a class="el" href="dir_000001.html">include</a> / <a class="el" href="dir_000002.html">log4cpp</a></div><h1>Category.hh</h1><a href="Category_8hh.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>00002 <span class="comment"> * Category.hh</span>00003 <span class="comment"> *</span>00004 <span class="comment"> * Copyright 2000, LifeLine Networks BV (www.lifeline.nl). All rights reserved.</span>00005 <span class="comment"> * Copyright 2000, Bastiaan Bakker. All rights reserved.</span>00006 <span class="comment"> *</span>00007 <span class="comment"> * See the COPYING file for the terms of usage and distribution.</span>00008 <span class="comment"> */</span>00009 00010 <span class="preprocessor">#ifndef _LOG4CPP_CATEGORY_HH</span>00011 <span class="preprocessor"></span><span class="preprocessor">#define _LOG4CPP_CATEGORY_HH</span>00012 <span class="preprocessor"></span>00013 <span class="preprocessor">#include <<a class="code" href="Portability_8hh.html">log4cpp/Portability.hh</a>></span>00014 <span class="preprocessor">#include <<a class="code" href="Appender_8hh.html">log4cpp/Appender.hh</a>></span>00015 <span class="preprocessor">#include <<a class="code" href="LoggingEvent_8hh.html">log4cpp/LoggingEvent.hh</a>></span>00016 <span class="preprocessor">#include <<a class="code" href="Priority_8hh.html">log4cpp/Priority.hh</a>></span>00017 <span class="preprocessor">#include <<a class="code" href="CategoryStream_8hh.html">log4cpp/CategoryStream.hh</a>></span>00018 <span class="preprocessor">#include <<a class="code" href="Threading_8hh.html">log4cpp/threading/Threading.hh</a>></span>00019 00020 <span class="preprocessor">#include <map></span>00021 <span class="preprocessor">#include <vector></span>00022 <span class="preprocessor">#include <cstdarg></span>00023 <span class="preprocessor">#include <stdexcept></span>00024 00025 <span class="keyword">namespace </span>log4cpp {00026 <a name="l00032"></a><a class="code" href="classlog4cpp_1_1Category.html">00032</a> <span class="keyword">class </span><a class="code" href="Export_8hh.html#a0">LOG4CPP_EXPORT</a> Category {<a name="l00033"></a><a class="code" href="classlog4cpp_1_1Category.html#n0">00033</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classlog4cpp_1_1HierarchyMaintainer.html">HierarchyMaintainer</a>;00034 00035 <span class="keyword">public</span>:00047 <span class="keyword">static</span> Category& getRoot();00048 00053 <span class="keyword">static</span> <span class="keywordtype">void</span> setRootPriority(<a class="code" href="classlog4cpp_1_1Priority.html#w0">Priority::Value</a> priority);00054 00059 <span class="keyword">static</span> <a class="code" href="classlog4cpp_1_1Priority.html#w0">Priority::Value</a> getRootPriority() throw();00060 00068 static Category& getInstance(const std::string& name);00069 00075 static Category* exists(const std::string& name);00076 00089 static std::vector<Category*>* getCurrentCategories();00090 00094 static <span class="keywordtype">void</span> shutdown();00095 00099 virtual ~Category();00100 00105 virtual const std::string& getName() const throw(); 00106 00114 virtual <span class="keywordtype">void</span> setPriority(<a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value priority) 00115 throw(std::invalid_argument);00116 00121 virtual <a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value getPriority() const throw();00122 00131 virtual <a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value getChainedPriority() const throw();00132 00139 virtual <span class="keywordtype">bool</span> isPriorityEnabled(<a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value priority) const throw();00140 00148 virtual <span class="keywordtype">void</span> addAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* appender) 00149 throw(std::invalid_argument);00150 00157 virtual <span class="keywordtype">void</span> addAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>& appender);00158 <a name="l00167"></a><a class="code" href="classlog4cpp_1_1Category.html#a8">00167</a> inline <span class="keywordtype">void</span> setAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* appender) {00168 <span class="keywordflow">if</span> (appender) {00169 addAppender(appender);00170 } <span class="keywordflow">else</span> {00171 removeAllAppenders();00172 }00173 };00174 <a name="l00181"></a><a class="code" href="classlog4cpp_1_1Category.html#a9">00181</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> setAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>& appender) {00182 addAppender(appender);00183 };00184 00191 <span class="keyword">virtual</span> <a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* getAppender() <span class="keyword">const</span>;00192 00199 <span class="keyword">virtual</span> <a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* getAppender(<span class="keyword">const</span> std::string& name) <span class="keyword">const</span>;00200 00206 <span class="keyword">virtual</span> <a class="code" href="namespacelog4cpp.html#a1">AppenderSet</a> getAllAppenders() <span class="keyword">const</span>;00207 00211 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllAppenders();00212 00217 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* appender);00218 <a name="l00225"></a><a class="code" href="classlog4cpp_1_1Category.html#a15">00225</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> ownsAppender() const throw() {00226 <span class="keywordflow">return</span> ownsAppender(getAppender());00227 };00228 00234 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ownsAppender(<a class="code" href="classlog4cpp_1_1Appender.html">Appender</a>* appender) <span class="keyword">const</span> <span class="keywordflow">throw</span>();00235 00247 <span class="keyword">virtual</span> <span class="keywordtype">void</span> callAppenders(<span class="keyword">const</span> <a class="code" href="structlog4cpp_1_1LoggingEvent.html">LoggingEvent</a>& event) <span class="keywordflow">throw</span>();00248 00252 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setAdditivity(<span class="keywordtype">bool</span> additivity);00253 00257 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getAdditivity() const throw();00258 00264 virtual Category* getParent() throw();00265 00271 virtual const Category* getParent() const throw();00272 00280 virtual <span class="keywordtype">void</span> log(<a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value priority, const <span class="keywordtype">char</span>* stringFormat,00281 ...) throw();00282 00288 virtual <span class="keywordtype">void</span> log(<a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value priority, 00289 const std::string& message) throw();00290 00299 virtual <span class="keywordtype">void</span> logva(<a class="code" href="classlog4cpp_1_1Priority.html">Priority</a>::Value priority, 00300 const <span class="keywordtype">char</span>* stringFormat,00301 va_list va) throw();00302 00309 <span class="keywordtype">void</span> debug(const <span class="keywordtype">char</span>* stringFormat, ...) throw();00310 00315 <span class="keywordtype">void</span> debug(const std::string& message) throw();00316 <a name="l00321"></a><a class="code" href="classlog4cpp_1_1Category.html#a27">00321</a> inline <span class="keywordtype">bool</span> isDebugEnabled() const throw() { 00322 <span class="keywordflow">return</span> isPriorityEnabled(<a class="code" href="classlog4cpp_1_1Priority.html#w11w9">Priority::DEBUG</a>);00323 };00324 <a name="l00329"></a><a class="code" href="classlog4cpp_1_1Category.html#a28">00329</a> <span class="keyword">inline</span> <a class="code" href="classlog4cpp_1_1CategoryStream.html">CategoryStream</a> debugStream() {00330 <span class="keywordflow">return</span> getStream(<a class="code" href="classlog4cpp_1_1Priority.html#w11w9">Priority::DEBUG</a>);00331 }00332 00339 <span class="keywordtype">void</span> info(<span class="keyword">const</span> <span class="keywordtype">char</span>* stringFormat, ...) throw();00340 00345 <span class="keywordtype">void</span> info(const std::string& message) throw();00346 <a name="l00351"></a><a class="code" href="classlog4cpp_1_1Category.html#a31">00351</a> inline <span class="keywordtype">bool</span> isInfoEnabled() const throw() { 00352 <span class="keywordflow">return</span> isPriorityEnabled(<a class="code" href="classlog4cpp_1_1Priority.html#w11w8">Priority::INFO</a>);00353 };00354
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -