1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3 <title>PVLogger class Reference</title> 4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 </head><body> 6 <!-- Generated by Doxygen 1.2.18 --> 7 <center> 8 <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center> 9 <hr><h1>PVLogger Class Reference</h1><code>#include <<a class="el" href="pvlogger_8h-source.html">pvlogger.h</a>></code> 10 <p> 11 <table border=0 cellpadding=0 cellspacing=0> 12 <tr><td></td></tr> 13 <tr><td colspan=2><br><h2>Public Types</h2></td></tr> 14 <tr><td nowrap align=right valign=top>typedef int32 </td><td valign=bottom><a class="el" href="classPVLogger.html#s0">log_level_type</a></td></tr> 15 <tr><td nowrap align=right valign=top>typedef int32 </td><td valign=bottom><a class="el" href="classPVLogger.html#s1">message_id_type</a></td></tr> 16 <tr><td nowrap align=right valign=top>typedef int32 </td><td valign=bottom><a class="el" href="classPVLogger.html#s2">filter_status_type</a></td></tr> 17 <tr><td nowrap align=right valign=top>typedef <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a> </td><td valign=bottom><a class="el" href="classPVLogger.html#s3">alloc_type</a></td></tr> 18 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> 19 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#a0">SetLogLevel</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr> 20 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#a1">SetLogLevelAndPropagate</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr> 21 <tr><td nowrap align=right valign=top><a class="el" href="classPVLogger.html#s0">log_level_type</a> </td><td valign=bottom><a class="el" href="classPVLogger.html#a2">GetLogLevel</a> ()</td></tr> 22 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#a3">DisableAppenderInheritance</a> ()</td></tr> 23 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#a4">AddAppender</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> > &appender)</td></tr> 24 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#a5">RemoveAppender</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> > &appender)</td></tr> 25 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#a6">AddFilter</a> (<a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerFilter.html">PVLoggerFilter</a> > &filter)</td></tr> 26 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="classPVLogger.html#a7">GetNumAppenders</a> ()</td></tr> 27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF bool </td><td valign=bottom><a class="el" href="classPVLogger.html#a8">IsActive</a> (<a class="el" href="classPVLogger.html#s0">log_level_type</a> level)</td></tr> 28 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#a9">LogMsgStringV</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, const char *fmt, va_list arguments)</td></tr> 29 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#a10">LogMsgBuffersV</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, int32 numPairs, va_list arguments)</td></tr> 30 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#a11">LogMsgString</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, const char *fmt,...)</td></tr> 31 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#a12">LogMsgBuffers</a> (<a class="el" href="classPVLogger.html#s1">message_id_type</a> msgID, int32 numPairs,...)</td></tr> 32 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classPVLogger.html#a13">PVLogger</a> (const char *inputTag, <a class="el" href="classPVLogger.html#s0">log_level_type</a> level, bool oAppenderInheritance)</td></tr> 33 <tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classPVLogger.html#a14">~PVLogger</a> ()</td></tr> 34 <tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> 35 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#d0">Init</a> ()</td></tr> 36 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void </td><td valign=bottom><a class="el" href="classPVLogger.html#d1">Cleanup</a> ()</td></tr> 37 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF PVLogger * </td><td valign=bottom><a class="el" href="classPVLogger.html#d2">GetLoggerObject</a> (const char *inputTag)</td></tr> 38 <tr><td colspan=2><br><h2>Protected Methods</h2></td></tr> 39 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPVLogger.html#b0">SetParent</a> (PVLogger *parentLogger)</td></tr> 40 <tr><td nowrap align=right valign=top>PVLogger * </td><td valign=bottom><a class="el" href="classPVLogger.html#b1">GetParent</a> ()</td></tr> 41 <tr><td colspan=2><br><h2>Friends</h2></td></tr> 42 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classPVLogger.html#l0">PVLoggerRegistry</a></td></tr> 43 </table> 44 <hr><h2>Member Typedef Documentation</h2> 45 <a name="s3" doxytag="PVLogger::alloc_type"></a><p> 46 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 47 <tr> 48 <td class="md"> 49 <table cellpadding="0" cellspacing="0" border="0"> 50 <tr> 51 <td class="md" nowrap valign="top"> typedef <a class="el" href="class__OsclBasicAllocator.html">_OsclBasicAllocator</a> PVLogger::alloc_type 52 </table> 53 </td> 54 </tr> 55 </table> 56 <table cellspacing=5 cellpadding=0 border=0> 57 <tr> 58 <td> 59 60 </td> 61 <td> 62 63 <p> 64 </td> 65 </tr> 66 </table> 67 <a name="s2" doxytag="PVLogger::filter_status_type"></a><p> 68 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 69 <tr> 70 <td class="md"> 71 <table cellpadding="0" cellspacing="0" border="0"> 72 <tr> 73 <td class="md" nowrap valign="top"> typedef int32 PVLogger::filter_status_type 74 </table> 75 </td> 76 </tr> 77 </table> 78 <table cellspacing=5 cellpadding=0 border=0> 79 <tr> 80 <td> 81 82 </td> 83 <td> 84 85 <p> 86 </td> 87 </tr> 88 </table> 89 <a name="s0" doxytag="PVLogger::log_level_type"></a><p> 90 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 91 <tr> 92 <td class="md"> 93 <table cellpadding="0" cellspacing="0" border="0"> 94 <tr> 95 <td class="md" nowrap valign="top"> typedef int32 PVLogger::log_level_type 96 </table> 97 </td> 98 </tr> 99 </table> 100 <table cellspacing=5 cellpadding=0 border=0> 101 <tr> 102 <td> 103 104 </td> 105 <td> 106 107 <p> 108 </td> 109 </tr> 110 </table> 111 <a name="s1" doxytag="PVLogger::message_id_type"></a><p> 112 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 113 <tr> 114 <td class="md"> 115 <table cellpadding="0" cellspacing="0" border="0"> 116 <tr> 117 <td class="md" nowrap valign="top"> typedef int32 PVLogger::message_id_type 118 </table> 119 </td> 120 </tr> 121 </table> 122 <table cellspacing=5 cellpadding=0 border=0> 123 <tr> 124 <td> 125 126 </td> 127 <td> 128 129 <p> 130 </td> 131 </tr> 132 </table> 133 <hr><h2>Constructor & Destructor Documentation</h2> 134 <a name="a13" doxytag="PVLogger::PVLogger"></a><p> 135 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 136 <tr> 137 <td class="md"> 138 <table cellpadding="0" cellspacing="0" border="0"> 139 <tr> 140 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLogger::PVLogger </td> 141 <td class="md" valign="top">( </td> 142 <td class="md" nowrap valign="top">const char * </td> 143 <td class="mdname" nowrap> <em>inputTag</em>, </td> 144 </tr> 145 <tr> 146 <td></td> 147 <td></td> 148 <td class="md" nowrap><a class="el" href="classPVLogger.html#s0">log_level_type</a> </td> 149 <td class="mdname" nowrap> <em>level</em>, </td> 150 </tr> 151 <tr> 152 <td></td> 153 <td></td> 154 <td class="md" nowrap>bool </td> 155 <td class="mdname" nowrap> <em>oAppenderInheritance</em></td> 156 </tr> 157 <tr> 158 <td></td> 159 <td class="md">) </td> 160 <td class="md" colspan="2"></td> 161 </tr> 162 163 </table> 164 </td> 165 </tr> 166 </table> 167 <table cellspacing=5 cellpadding=0 border=0> 168 <tr> 169 <td> 170 171 </td> 172 <td> 173 174 <p> 175 Logger Constructor<dl compact><dt><b>Parameters: </b></dt><dd> 176 <table border=0 cellspacing=2 cellpadding=0> 177 <tr><td valign=top><em>tag</em> </td><td> 178 Logger tag, unique to a logging control point </td></tr> 179 <tr><td valign=top><em>level</em> </td><td> 180 Active Log level of the logger </td></tr> 181 <tr><td valign=top><em>oAppenderInheritance</em> </td><td> 182 </td></tr> 183 </table> 184 </dl><dl compact><dt><b>Returns: </b></dt><dd> 185 NONE </dl> </td> 186 </tr> 187 </table> 188 <a name="a14" doxytag="PVLogger::~PVLogger"></a><p> 189 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 190 <tr> 191 <td class="md"> 192 <table cellpadding="0" cellspacing="0" border="0"> 193 <tr> 194 <td class="md" nowrap valign="top"> virtual PVLogger::~PVLogger </td> 195 <td class="md" valign="top">( </td> 196 <td class="mdname1" valign="top" nowrap> </td> 197 <td class="md" valign="top">) </td> 198 <td class="md" nowrap><code> [inline, virtual]</code></td> 199 </tr> 200 201 </table> 202 </td> 203 </tr> 204 </table> 205 <table cellspacing=5 cellpadding=0 border=0> 206 <tr> 207 <td> 208 209 </td> 210 <td> 211 212 <p> 213 </td> 214 </tr> 215 </table> 216 <hr><h2>Member Function Documentation</h2> 217 <a name="a4" doxytag="PVLogger::AddAppender"></a><p> 218 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 219 <tr> 220 <td class="md"> 221 <table cellpadding="0" cellspacing="0" border="0"> 222 <tr> 223 <td class="md" nowrap valign="top"> void PVLogger::AddAppender </td> 224 <td class="md" valign="top">( </td> 225 <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> > & </td> 226 <td class="mdname1" valign="top" nowrap> <em>appender</em> </td> 227 <td class="md" valign="top">) </td> 228 <td class="md" nowrap><code> [inline]</code></td> 229 </tr> 230 231 </table> 232 </td> 233 </tr> 234 </table> 235 <table cellspacing=5 cellpadding=0 border=0> 236 <tr> 237 <td> 238 239 </td> 240 <td> 241 242 <p> 243 This method adds an appender to the logging control point. Each logger maintains a list of appenders. Any msg to a logger if deemed active is logged to all the appenders.<dl compact><dt><b>Parameters: </b></dt><dd> 244 <table border=0 cellspacing=2 cellpadding=0> 245 <tr><td valign=top><em>appender</em> </td><td> 246 pointer to the appender to add</td></tr> 247 </table> 248 </dl><dl compact><dt><b>Returns: </b></dt><dd> 249 NONE</dl><dl compact><dt><b>Exceptions: </b></dt><dd> 250 <table border=0 cellspacing=2 cellpadding=0> 251 <tr><td valign=top><em>leaves</em> </td><td> 252 if out of memory </td></tr> 253 </table> 254 </dl> </td> 255 </tr> 256 </table> 257 <a name="a6" doxytag="PVLogger::AddFilter"></a><p> 258 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 259 <tr> 260 <td class="md"> 261 <table cellpadding="0" cellspacing="0" border="0"> 262 <tr> 263 <td class="md" nowrap valign="top"> void PVLogger::AddFilter </td> 264 <td class="md" valign="top">( </td> 265 <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerFilter.html">PVLoggerFilter</a> > & </td> 266 <td class="mdname1" valign="top" nowrap> <em>filter</em> </td> 267 <td class="md" valign="top">) </td> 268 <td class="md" nowrap><code> [inline]</code></td> 269 </tr> 270 271 </table> 272 </td> 273 </tr> 274 </table> 275 <table cellspacing=5 cellpadding=0 border=0> 276 <tr> 277 <td> 278 279 </td> 280 <td> 281 282 <p> 283 This method adds a message filter to the logging control point. Each logger maintains a list of filters. Any msg to a logger if deemed active is passed through the msg filters prior to logging.<dl compact><dt><b>Parameters: </b></dt><dd> 284 <table border=0 cellspacing=2 cellpadding=0> 285 <tr><td valign=top><em>msgFilter</em> </td><td> 286 pointer to the filter to add</td></tr> 287 </table> 288 </dl><dl compact><dt><b>Returns: </b></dt><dd> 289 NONE</dl><dl compact><dt><b>Exceptions: </b></dt><dd> 290 <table border=0 cellspacing=2 cellpadding=0> 291 <tr><td valign=top><em>leaves</em> </td><td> 292 if out of memory </td></tr> 293 </table> 294 </dl> </td> 295 </tr> 296 </table> 297 <a name="d1" doxytag="PVLogger::Cleanup"></a><p> 298 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 299 <tr> 300 <td class="md"> 301 <table cellpadding="0" cellspacing="0" border="0"> 302 <tr> 303 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::Cleanup </td> 304 <td class="md" valign="top">( </td> 305 <td class="mdname1" valign="top" nowrap> </td> 306 <td class="md" valign="top">) </td> 307 <td class="md" nowrap><code> [static]</code></td> 308 </tr> 309 310 </table> 311 </td> 312 </tr> 313 </table> 314 <table cellspacing=5 cellpadding=0 border=0> 315 <tr> 316 <td> 317 318 </td> 319 <td> 320 321 <p> 322 Frees the PVLogger singleton used by the current thread. This must be called before thread exit. No messages can be logged after cleanup. 323 <p> 324 <dl compact><dt><b>Returns: </b></dt><dd> 325 </dl> </td> 326 </tr> 327 </table> 328 <a name="a3" doxytag="PVLogger::DisableAppenderInheritance"></a><p> 329 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 330 <tr> 331 <td class="md"> 332 <table cellpadding="0" cellspacing="0" border="0"> 333 <tr> 334 <td class="md" nowrap valign="top"> void PVLogger::DisableAppenderInheritance </td> 335 <td class="md" valign="top">( </td> 336 <td class="mdname1" valign="top" nowrap> </td> 337 <td class="md" valign="top">) </td> 338 <td class="md" nowrap><code> [inline]</code></td> 339 </tr> 340 341 </table> 342 </td> 343 </tr> 344 </table> 345 <table cellspacing=5 cellpadding=0 border=0> 346 <tr> 347 <td> 348 349 </td> 350 <td> 351 352 <p> 353 This method disables appender inheritance for the logging control point </td> 354 </tr> 355 </table> 356 <a name="d2" doxytag="PVLogger::GetLoggerObject"></a><p> 357 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 358 <tr> 359 <td class="md"> 360 <table cellpadding="0" cellspacing="0" border="0"> 361 <tr> 362 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF PVLogger* PVLogger::GetLoggerObject </td> 363 <td class="md" valign="top">( </td> 364 <td class="md" nowrap valign="top">const char * </td> 365 <td class="mdname1" valign="top" nowrap> <em>inputTag</em> </td> 366 <td class="md" valign="top">) </td> 367 <td class="md" nowrap><code> [static]</code></td> 368 </tr> 369 370 </table> 371 </td> 372 </tr> 373 </table> 374 <table cellspacing=5 cellpadding=0 border=0> 375 <tr> 376 <td> 377 378 </td> 379 <td> 380 381 <p> 382 This is a factory method to create a log control point, with a certain input tag. There is a central registry of all the loggers, with their corresponding tags, called PV Logger Registry. In case the logger with the specified tag exists in the global registry, it is returned, else a new one is created and a pointer to the same is returend.<dl compact><dt><b>Parameters: </b></dt><dd> 383 <table border=0 cellspacing=2 cellpadding=0> 384 <tr><td valign=top><em>inputTag</em> </td><td> 385 logger tag, viz. "x.y.z" </td></tr> 386 <tr><td valign=top><em>level</em> </td><td> 387 log level associated with the logging control point (All messages with log levels less than equal to the log level of the control point would be logged)</td></tr> 388 <tr><td valign=top><em>oAppenderInheritance</em> </td><td> 389 </td></tr> 390 </table> 391 </dl><dl compact><dt><b>Returns: </b></dt><dd> 392 PVLogger* Pointer to the logging control point</dl><dl compact><dt><b>Exceptions: </b></dt><dd> 393 <table border=0 cellspacing=2 cellpadding=0> 394 <tr><td valign=top><em>leaves</em> </td><td> 395 if out of memory </td></tr> 396 </table> 397 </dl> </td> 398 </tr> 399 </table> 400 <a name="a2" doxytag="PVLogger::GetLogLevel"></a><p> 401 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 402 <tr> 403 <td class="md"> 404 <table cellpadding="0" cellspacing="0" border="0"> 405 <tr> 406 <td class="md" nowrap valign="top"> <a class="el" href="classPVLogger.html#s0">log_level_type</a> PVLogger::GetLogLevel </td> 407 <td class="md" valign="top">( </td> 408 <td class="mdname1" valign="top" nowrap> </td> 409 <td class="md" valign="top">) </td> 410 <td class="md" nowrap><code> [inline]</code></td> 411 </tr> 412 413 </table> 414 </td> 415 </tr> 416 </table> 417 <table cellspacing=5 cellpadding=0 border=0> 418 <tr> 419 <td> 420 421 </td> 422 <td> 423 424 <p> 425 This method returns the log level of a control point. This could either have been set explicitly by the user (at the time of creation or later) or could have been inherited from one of its ancestors. 426 <p> 427 <dl compact><dt><b>Returns: </b></dt><dd> 428 log level associated with the logging control point </dl> </td> 429 </tr> 430 </table> 431 <a name="a7" doxytag="PVLogger::GetNumAppenders"></a><p> 432 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 433 <tr> 434 <td class="md"> 435 <table cellpadding="0" cellspacing="0" border="0"> 436 <tr> 437 <td class="md" nowrap valign="top"> uint32 PVLogger::GetNumAppenders </td> 438 <td class="md" valign="top">( </td> 439 <td class="mdname1" valign="top" nowrap> </td> 440 <td class="md" valign="top">) </td> 441 <td class="md" nowrap><code> [inline]</code></td> 442 </tr> 443 444 </table> 445 </td> 446 </tr> 447 </table> 448 <table cellspacing=5 cellpadding=0 border=0> 449 <tr> 450 <td> 451 452 </td> 453 <td> 454 455 <p> 456 This method returns the number of appenders attached to the logging control point. </td> 457 </tr> 458 </table> 459 <a name="b1" doxytag="PVLogger::GetParent"></a><p> 460 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 461 <tr> 462 <td class="md"> 463 <table cellpadding="0" cellspacing="0" border="0"> 464 <tr> 465 <td class="md" nowrap valign="top"> PVLogger* PVLogger::GetParent </td> 466 <td class="md" valign="top">( </td> 467 <td class="mdname1" valign="top" nowrap> </td> 468 <td class="md" valign="top">) </td> 469 <td class="md" nowrap><code> [inline, protected]</code></td> 470 </tr> 471 472 </table> 473 </td> 474 </tr> 475 </table> 476 <table cellspacing=5 cellpadding=0 border=0> 477 <tr> 478 <td> 479 480 </td> 481 <td> 482 483 <p> 484 </td> 485 </tr> 486 </table> 487 <a name="d0" doxytag="PVLogger::Init"></a><p> 488 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 489 <tr> 490 <td class="md"> 491 <table cellpadding="0" cellspacing="0" border="0"> 492 <tr> 493 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::Init </td> 494 <td class="md" valign="top">( </td> 495 <td class="mdname1" valign="top" nowrap> </td> 496 <td class="md" valign="top">) </td> 497 <td class="md" nowrap><code> [static]</code></td> 498 </tr> 499 500 </table> 501 </td> 502 </tr> 503 </table> 504 <table cellspacing=5 cellpadding=0 border=0> 505 <tr> 506 <td> 507 508 </td> 509 <td> 510 511 <p> 512 PVLogger needs to be initialized once per thread. This creates the PVLogger singleton that is used throughout the duration of the thread. Initialization must occur before the first message is logged.<dl compact><dt><b>Exceptions: </b></dt><dd> 513 <table border=0 cellspacing=2 cellpadding=0> 514 <tr><td valign=top><em>leaves</em> </td><td> 515 if out of memory </td></tr> 516 </table> 517 </dl> </td> 518 </tr> 519 </table> 520 <a name="a8" doxytag="PVLogger::IsActive"></a><p> 521 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 522 <tr> 523 <td class="md"> 524 <table cellpadding="0" cellspacing="0" border="0"> 525 <tr> 526 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF bool PVLogger::IsActive </td> 527 <td class="md" valign="top">( </td> 528 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a> </td> 529 <td class="mdname1" valign="top" nowrap> <em>level</em> </td> 530 <td class="md" valign="top">) </td> 531 <td class="md" nowrap></td> 532 </tr> 533 534 </table> 535 </td> 536 </tr> 537 </table> 538 <table cellspacing=5 cellpadding=0 border=0> 539 <tr> 540 <td> 541 542 </td> 543 <td> 544 545 <p> 546 This method determines if a msg passed to the logging control point is active or not. Only messages that are deemed active are logged. Messages are considered not active if any of the following criteria are met:<ul> 547 <li>All logging is disabled at this logging control point</ul> 548 If all the log levels, leading upto the root log point are uninitialized<ul> 549 <li>If the log level of the incoming message is LESS THAN that of the active log level of the logging control point.</ul> 550 <dl compact><dt><b>Returns: </b></dt><dd> 551 BOOL </dl> </td> 552 </tr> 553 </table> 554 <a name="a12" doxytag="PVLogger::LogMsgBuffers"></a><p> 555 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 556 <tr> 557 <td class="md"> 558 <table cellpadding="0" cellspacing="0" border="0"> 559 <tr> 560 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgBuffers </td> 561 <td class="md" valign="top">( </td> 562 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a> </td> 563 <td class="mdname" nowrap> <em>msgID</em>, </td> 564 </tr> 565 <tr> 566 <td></td> 567 <td></td> 568 <td class="md" nowrap>int32 </td> 569 <td class="mdname" nowrap> <em>numPairs</em>, </td> 570 </tr> 571 <tr> 572 <td></td> 573 <td></td> 574 <td class="md" nowrap>... </td> 575 <td class="mdname" nowrap> </td> 576 </tr> 577 <tr> 578 <td></td> 579 <td class="md">) </td> 580 <td class="md" colspan="2"></td> 581 </tr> 582 583 </table> 584 </td> 585 </tr> 586 </table> 587 <table cellspacing=5 cellpadding=0 border=0> 588 <tr> 589 <td> 590 591 </td> 592 <td> 593 594 <p> 595 This method logs opaque data buffers to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd> 596 <table border=0 cellspacing=2 cellpadding=0> 597 <tr><td valign=top><em>msgID</em> </td><td> 598 Message ID, that is unique to a message </td></tr> 599 <tr><td valign=top><em>numPairs</em> </td><td> 600 Number of (ptr_len, ptr) pairs </td></tr> 601 <tr><td valign=top><em>arguments</em> </td><td> 602 Variable list of arguments</td></tr> 603 </table> 604 </dl><dl compact><dt><b>Returns: </b></dt><dd> 605 NONE </dl> </td> 606 </tr> 607 </table> 608 <a name="a10" doxytag="PVLogger::LogMsgBuffersV"></a><p> 609 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 610 <tr> 611 <td class="md"> 612 <table cellpadding="0" cellspacing="0" border="0"> 613 <tr> 614 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgBuffersV </td> 615 <td class="md" valign="top">( </td> 616 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a> </td> 617 <td class="mdname" nowrap> <em>msgID</em>, </td> 618 </tr> 619 <tr> 620 <td></td> 621 <td></td> 622 <td class="md" nowrap>int32 </td> 623 <td class="mdname" nowrap> <em>numPairs</em>, </td> 624 </tr> 625 <tr> 626 <td></td> 627 <td></td> 628 <td class="md" nowrap>va_list </td> 629 <td class="mdname" nowrap> <em>arguments</em></td> 630 </tr> 631 <tr> 632 <td></td> 633 <td class="md">) </td> 634 <td class="md" colspan="2"></td> 635 </tr> 636 637 </table> 638 </td> 639 </tr> 640 </table> 641 <table cellspacing=5 cellpadding=0 border=0> 642 <tr> 643 <td> 644 645 </td> 646 <td> 647 648 <p> 649 This method logs opaque data buffers to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd> 650 <table border=0 cellspacing=2 cellpadding=0> 651 <tr><td valign=top><em>msgID</em> </td><td> 652 Message ID, that is unique to a message </td></tr> 653 <tr><td valign=top><em>numPairs</em> </td><td> 654 Number of (ptr_len, ptr) pairs </td></tr> 655 <tr><td valign=top><em>arguments</em> </td><td> 656 Variable list of arguments</td></tr> 657 </table> 658 </dl><dl compact><dt><b>Returns: </b></dt><dd> 659 NONE </dl> </td> 660 </tr> 661 </table> 662 <a name="a11" doxytag="PVLogger::LogMsgString"></a><p> 663 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 664 <tr> 665 <td class="md"> 666 <table cellpadding="0" cellspacing="0" border="0"> 667 <tr> 668 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgString </td> 669 <td class="md" valign="top">( </td> 670 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a> </td> 671 <td class="mdname" nowrap> <em>msgID</em>, </td> 672 </tr> 673 <tr> 674 <td></td> 675 <td></td> 676 <td class="md" nowrap>const char * </td> 677 <td class="mdname" nowrap> <em>fmt</em>, </td> 678 </tr> 679 <tr> 680 <td></td> 681 <td></td> 682 <td class="md" nowrap>... </td> 683 <td class="mdname" nowrap> </td> 684 </tr> 685 <tr> 686 <td></td> 687 <td class="md">) </td> 688 <td class="md" colspan="2"></td> 689 </tr> 690 691 </table> 692 </td> 693 </tr> 694 </table> 695 <table cellspacing=5 cellpadding=0 border=0> 696 <tr> 697 <td> 698 699 </td> 700 <td> 701 702 <p> 703 This method logs formatted text msg to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd> 704 <table border=0 cellspacing=2 cellpadding=0> 705 <tr><td valign=top><em>msgID</em> </td><td> 706 Message ID, that is unique to a message </td></tr> 707 <tr><td valign=top><em>fmt</em> </td><td> 708 format string, similar to one taken by printf </td></tr> 709 <tr><td valign=top><em>arguments</em> </td><td> 710 Variable list of arguments</td></tr> 711 </table> 712 </dl><dl compact><dt><b>Returns: </b></dt><dd> 713 NONE </dl> </td> 714 </tr> 715 </table> 716 <a name="a9" doxytag="PVLogger::LogMsgStringV"></a><p> 717 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 718 <tr> 719 <td class="md"> 720 <table cellpadding="0" cellspacing="0" border="0"> 721 <tr> 722 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::LogMsgStringV </td> 723 <td class="md" valign="top">( </td> 724 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s1">message_id_type</a> </td> 725 <td class="mdname" nowrap> <em>msgID</em>, </td> 726 </tr> 727 <tr> 728 <td></td> 729 <td></td> 730 <td class="md" nowrap>const char * </td> 731 <td class="mdname" nowrap> <em>fmt</em>, </td> 732 </tr> 733 <tr> 734 <td></td> 735 <td></td> 736 <td class="md" nowrap>va_list </td> 737 <td class="mdname" nowrap> <em>arguments</em></td> 738 </tr> 739 <tr> 740 <td></td> 741 <td class="md">) </td> 742 <td class="md" colspan="2"></td> 743 </tr> 744 745 </table> 746 </td> 747 </tr> 748 </table> 749 <table cellspacing=5 cellpadding=0 border=0> 750 <tr> 751 <td> 752 753 </td> 754 <td> 755 756 <p> 757 This method logs formatted text msg to all the appenders, after running thrrough the message filters. After logging the message to the appenders attached to the current control point, the message is passed up to the parent node, only if appender inheritance is enabled.<dl compact><dt><b>Parameters: </b></dt><dd> 758 <table border=0 cellspacing=2 cellpadding=0> 759 <tr><td valign=top><em>msgID</em> </td><td> 760 Message ID, that is unique to a message </td></tr> 761 <tr><td valign=top><em>fmt</em> </td><td> 762 format string, similar to one taken by printf </td></tr> 763 <tr><td valign=top><em>arguments</em> </td><td> 764 Variable list of arguments</td></tr> 765 </table> 766 </dl><dl compact><dt><b>Returns: </b></dt><dd> 767 NONE </dl> </td> 768 </tr> 769 </table> 770 <a name="a5" doxytag="PVLogger::RemoveAppender"></a><p> 771 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 772 <tr> 773 <td class="md"> 774 <table cellpadding="0" cellspacing="0" border="0"> 775 <tr> 776 <td class="md" nowrap valign="top"> void PVLogger::RemoveAppender </td> 777 <td class="md" valign="top">( </td> 778 <td class="md" nowrap valign="top"><a class="el" href="classOsclSharedPtr.html">OsclSharedPtr</a>< <a class="el" href="classPVLoggerAppender.html">PVLoggerAppender</a> > & </td> 779 <td class="mdname1" valign="top" nowrap> <em>appender</em> </td> 780 <td class="md" valign="top">) </td> 781 <td class="md" nowrap><code> [inline]</code></td> 782 </tr> 783 784 </table> 785 </td> 786 </tr> 787 </table> 788 <table cellspacing=5 cellpadding=0 border=0> 789 <tr> 790 <td> 791 792 </td> 793 <td> 794 795 <p> 796 This method removes an appender from the logging control point. Each logger maintains a list of appenders. Any msg to a logger if deemed active is logged to all the appenders.<dl compact><dt><b>Parameters: </b></dt><dd> 797 <table border=0 cellspacing=2 cellpadding=0> 798 <tr><td valign=top><em>appender</em> </td><td> 799 pointer to the appender to delete</td></tr> 800 </table> 801 </dl><dl compact><dt><b>Returns: </b></dt><dd> 802 NONE </dl> </td> 803 </tr> 804 </table> 805 <a name="a0" doxytag="PVLogger::SetLogLevel"></a><p> 806 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 807 <tr> 808 <td class="md"> 809 <table cellpadding="0" cellspacing="0" border="0"> 810 <tr> 811 <td class="md" nowrap valign="top"> void PVLogger::SetLogLevel </td> 812 <td class="md" valign="top">( </td> 813 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a> </td> 814 <td class="mdname1" valign="top" nowrap> <em>level</em> </td> 815 <td class="md" valign="top">) </td> 816 <td class="md" nowrap><code> [inline]</code></td> 817 </tr> 818 819 </table> 820 </td> 821 </tr> 822 </table> 823 <table cellspacing=5 cellpadding=0 border=0> 824 <tr> 825 <td> 826 827 </td> 828 <td> 829 830 <p> 831 This method is used to set the log level of a control point.<dl compact><dt><b>Parameters: </b></dt><dd> 832 <table border=0 cellspacing=2 cellpadding=0> 833 <tr><td valign=top><em>level</em> </td><td> 834 log level associated with the logging control point</td></tr> 835 </table> 836 </dl><dl compact><dt><b>Returns: </b></dt><dd> 837 NONE </dl> </td> 838 </tr> 839 </table> 840 <a name="a1" doxytag="PVLogger::SetLogLevelAndPropagate"></a><p> 841 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 842 <tr> 843 <td class="md"> 844 <table cellpadding="0" cellspacing="0" border="0"> 845 <tr> 846 <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void PVLogger::SetLogLevelAndPropagate </td> 847 <td class="md" valign="top">( </td> 848 <td class="md" nowrap valign="top"><a class="el" href="classPVLogger.html#s0">log_level_type</a> </td> 849 <td class="mdname1" valign="top" nowrap> <em>level</em> </td> 850 <td class="md" valign="top">) </td> 851 <td class="md" nowrap></td> 852 </tr> 853 854 </table> 855 </td> 856 </tr> 857 </table> 858 <table cellspacing=5 cellpadding=0 border=0> 859 <tr> 860 <td> 861 862 </td> 863 <td> 864 865 <p> 866 This method is used to set the log level of a control point, as well as to propagate the level to all the descendants of this control point.<dl compact><dt><b>Parameters: </b></dt><dd> 867 <table border=0 cellspacing=2 cellpadding=0> 868 <tr><td valign=top><em>level</em> </td><td> 869 log level associated with the logging control point</td></tr> 870 </table> 871 </dl><dl compact><dt><b>Returns: </b></dt><dd> 872 NONE </dl> </td> 873 </tr> 874 </table> 875 <a name="b0" doxytag="PVLogger::SetParent"></a><p> 876 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 877 <tr> 878 <td class="md"> 879 <table cellpadding="0" cellspacing="0" border="0"> 880 <tr> 881 <td class="md" nowrap valign="top"> void PVLogger::SetParent </td> 882 <td class="md" valign="top">( </td> 883 <td class="md" nowrap valign="top">PVLogger * </td> 884 <td class="mdname1" valign="top" nowrap> <em>parentLogger</em> </td> 885 <td class="md" valign="top">) </td> 886 <td class="md" nowrap><code> [inline, protected]</code></td> 887 </tr> 888 889 </table> 890 </td> 891 </tr> 892 </table> 893 <table cellspacing=5 cellpadding=0 border=0> 894 <tr> 895 <td> 896 897 </td> 898 <td> 899 900 <p> 901 </td> 902 </tr> 903 </table> 904 <hr><h2>Friends And Related Function Documentation</h2> 905 <a name="l0" doxytag="PVLogger::PVLoggerRegistry"></a><p> 906 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 907 <tr> 908 <td class="md"> 909 <table cellpadding="0" cellspacing="0" border="0"> 910 <tr> 911 <td class="md" nowrap valign="top"> friend class PVLoggerRegistry<code> [friend]</code> 912 </table> 913 </td> 914 </tr> 915 </table> 916 <table cellspacing=5 cellpadding=0 border=0> 917 <tr> 918 <td> 919 920 </td> 921 <td> 922 923 <p> 924 </td> 925 </tr> 926 </table> 927 <hr>The documentation for this class was generated from the following file:<ul> 928 <li><a class="el" href="pvlogger_8h-source.html">pvlogger.h</a></ul> 929 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 930 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 931 </small></address> 932 </body> 933 </html> 934