Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 0a38b107381e947533adbb55ab5f647c > files > 690

jakarta-poi-manual-3.1-0.0.2mdv2010.0.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--*** This is a generated file.  Do not edit.  ***-->
<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
<link rel="stylesheet" href="../skin/site.css" type="text/css">
<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
<title>POI Utils</title>
</head>
<body bgcolor="white" class="composite">
<!--================= start Banner ==================-->
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
<tbody>
<tr>
<!--================= start Group Logo ==================-->
<td align="left">
<div class="groupLogo">
<a href="http://poi.apache.org"><img border="0" class="logoImage" alt="Apache POI" src="../resources/images/group-logo.jpg"></a>
</div>
</td>
<!--================= end Group Logo ==================-->
<!--================= start Project Logo ==================--><td align="right">
<div class="projectLogo">
<a href="http://poi.apache.org/"><img border="0" class="logoImage" alt="POI" src="../resources/images/project-logo.jpg"></a>
</div>
</td>
<!--================= end Project Logo ==================-->
</tr>
</tbody>
</table>
</div>
<!--================= end Banner ==================-->
<!--================= start Main ==================-->
<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
<tbody>
<!--================= start Status ==================-->
<tr class="status">
<td>
<!--================= start BreadCrumb ==================--><a href="http://www.apache.org/">Apache</a> | <a href="http://poi.apache.org/">POI</a><a href=""></a>
<!--================= end BreadCrumb ==================--></td><td id="tabs">
<!--================= start Tabs ==================-->
<div class="tab">
<span class="selectedTab"><a class="base-selected" href="../index.html">Home</a></span> | <script language="Javascript" type="text/javascript">
function printit() {  
if (window.print) {
    window.print() ;  
} else {
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
    WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
}
}
</script><script language="Javascript" type="text/javascript">
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
if (VERSION > 3) {
    document.write('  <a title="PRINT this page OUT" href="javascript:printit()">PRINT</a>');
}
</script> | <a title="PDF file of this page" href="logging.pdf">PDF</a>
</div>
<!--================= end Tabs ==================-->
</td>
</tr>
</tbody>
</table>
<!--================= end Status ==================-->
<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
<tbody>
<tr valign="top">
<!--================= start Menu ==================-->
<td id="leftcol">
<div id="navcolumn">
<div class="menuBar">
<div class="menu">
<span class="menuLabel">Apache POI</span>
    
<div class="menuItem">
<a href="../index.html">Top</a>
</div>
  
</div>
<div class="menu">
<span class="menuLabel">POI Util</span>
    
<div class="menuItem">
<a href="index.html">Overview</a>
</div>
    
<div class="menuItem">
<span class="menuSelected">Logging</span>
</div>
  
</div>
</div>
</div>
<form target="_blank" action="http://www.google.com/search" method="get">
<table summary="search" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="poi.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit">
<br>
                          Search poi</td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
</tr>
</table>
</form>
</td>
<!--================= end Menu ==================-->
<!--================= start Content ==================--><td>
<div id="bodycol">
<div class="app">
<div align="center">
<h1>POI Utils</h1>
</div>
<div class="h3">
 

 
 
<div class="h3">
<h3>Logging</h3>
</div>

  
<p>
    Logging in POI is used only as a debugging mechanism, not a normal runtime
    logging system.  Logging is ONLY for autopsie type debugging, and should 
    NEVER be enabled on a production system.  Enabling logging will reduce 
    performance by at least a factor of 100.  If you are not developing 
    POI or trying to debug why POI isn't reading a file correctly, then DO 
    NOT enable logging.  You've been warned. 
  </p>

  
<p>
    Hence, we need to be able to easily disable it entirely and make POI not dependent
    on any logging package.
  </p>
  
  
<div class="frame warning">
<div class="label">Warning</div>
<div class="content">
    POI is not dependent on commons-logging for running, but not for compiling.
  </div>
</div>
    
   
<div class="h4">
<h4>Logging Overview</h4>
</div>
     
<p>
       Every class uses a <span class="codefrag">POILogger</span> to log, and gets it using a static method 
       of the <span class="codefrag">POILogFactory</span> .
     </p>
     
<p>
       The <span class="codefrag">POILogFactory</span> uses the <span class="codefrag">NullLogger</span> by default;
       it can be instructed to use any other <span class="codefrag">POILogger</span> implementation
       by setting the system property <span class="codefrag">org.apache.poi.util.POILogger</span>.
     </p>
     
<div class="frame note">
<div class="label">Note</div>
<div class="content"> java -Dorg.apache.poi.util.POILogger=the.package.of.MyPoiLoggerImpl ProgramThatUsesPoi
     </div>
</div>    
     
<div class="frame fixme">
<div class="label">Fixme (nicolaken)</div>
<div class="content"> Still needs testing.
     </div>
</div>  
   
   
   
<div class="h4">
<h4>POILogFactory</h4>
</div>
     
<p>   
       Each class in POI can get its <span class="codefrag">POILogger</span> by calling a static method 
       of the <span class="codefrag">POILogFactory</span> .
     </p>
   
   
   
<div class="h4">
<h4>POILogger</h4>
</div>
     
<p>   
     Each class in POI can log using a <span class="codefrag">POILogger</span>, which is an abstract class.
     We decided to make our own logging facade because:</p>
     
<ol>
      
<li>we need to log many values and we put many methods in this class to facilitate the 
          programmer, without having him write string concatenations;</li>
      
<li>we need to be able to use POI without any logger package present.</li>
     
</ol>
     
<p>There are three implementations available, and you can roll out your own, just
     extend <span class="codefrag">org.apache.poi.util.POILogger</span>.
     </p>
   
<div class="h2">
<h2>NullLogger</h2>
</div>
     
<p>Discards every logging request.</p>     
   
   
<div class="h2">
<h2>SystemOutLogger</h2>
</div>
     
<p>Sends every logging request to System.out.</p>     
   
   
<div class="h2">
<h2>CommonsLogger</h2>
</div>
     
<p>Sends every logging request to the Commons Logging package. This can use JDK1.4 logging,
     log4j, logkit, and is an actively maintained Jakarta Project.</p>     
      
   
  
  
 

<div id="authors" align="right">by&nbsp;Nicola Ken Barozzi,&nbsp;Andrew C. Oliver</div>
</div>
</div>
</div>
</td>
<!--================= end Content ==================-->
</tr>
</tbody>
</table>
<!--================= end Main ==================-->
<!--================= start Footer ==================-->
<div id="footer">
<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
<tbody>
<tr>
<!--================= start Copyright ==================-->
<td colspan="2">
<div align="center">
<div class="copyright">
              Copyright &copy; 2002-2007&nbsp;The Apache Software Foundation. All rights reserved.
            </div>
</div>
</td>
<!--================= end Copyright ==================-->
</tr>
<tr>
<td align="left">
<!--================= start Host ==================-->
<!--================= end Host ==================--></td><td align="right">
<!--================= start Credits ==================-->
<div align="right">
<div class="credit"></div>
</div>
<!--================= end Credits ==================-->
</td>
</tr>
</tbody>
</table>
</div>
<!--================= end Footer ==================-->
</body>
</html>