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> 175Logger 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> 178Logger tag, unique to a logging control point </td></tr> 179<tr><td valign=top><em>level</em> </td><td> 180Active 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> 185NONE </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> 243This 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> 246pointer to the appender to add</td></tr> 247</table> 248</dl><dl compact><dt><b>Returns: </b></dt><dd> 249NONE</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> 283This 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> 286pointer to the filter to add</td></tr> 287</table> 288</dl><dl compact><dt><b>Returns: </b></dt><dd> 289NONE</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> 322Frees 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> 353This 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> 382This 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> 385logger tag, viz. "x.y.z" </td></tr> 386<tr><td valign=top><em>level</em> </td><td> 387log 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> 392PVLogger* 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> 425This 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> 428log 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> 456This 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> 512PVLogger 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> 546This 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> 548If 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> 551BOOL </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> 595This 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> 598Message ID, that is unique to a message </td></tr> 599<tr><td valign=top><em>numPairs</em> </td><td> 600Number of (ptr_len, ptr) pairs </td></tr> 601<tr><td valign=top><em>arguments</em> </td><td> 602Variable list of arguments</td></tr> 603</table> 604</dl><dl compact><dt><b>Returns: </b></dt><dd> 605NONE </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> 649This 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> 652Message ID, that is unique to a message </td></tr> 653<tr><td valign=top><em>numPairs</em> </td><td> 654Number of (ptr_len, ptr) pairs </td></tr> 655<tr><td valign=top><em>arguments</em> </td><td> 656Variable list of arguments</td></tr> 657</table> 658</dl><dl compact><dt><b>Returns: </b></dt><dd> 659NONE </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> 703This 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> 706Message ID, that is unique to a message </td></tr> 707<tr><td valign=top><em>fmt</em> </td><td> 708format string, similar to one taken by printf </td></tr> 709<tr><td valign=top><em>arguments</em> </td><td> 710Variable list of arguments</td></tr> 711</table> 712</dl><dl compact><dt><b>Returns: </b></dt><dd> 713NONE </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> 757This 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> 760Message ID, that is unique to a message </td></tr> 761<tr><td valign=top><em>fmt</em> </td><td> 762format string, similar to one taken by printf </td></tr> 763<tr><td valign=top><em>arguments</em> </td><td> 764Variable list of arguments</td></tr> 765</table> 766</dl><dl compact><dt><b>Returns: </b></dt><dd> 767NONE </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> 796This 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> 799pointer to the appender to delete</td></tr> 800</table> 801</dl><dl compact><dt><b>Returns: </b></dt><dd> 802NONE </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> 831This 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> 834log level associated with the logging control point</td></tr> 835</table> 836</dl><dl compact><dt><b>Returns: </b></dt><dd> 837NONE </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> 866This 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> 869log level associated with the logging control point</td></tr> 870</table> 871</dl><dl compact><dt><b>Returns: </b></dt><dd> 872NONE </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