<p>from yahoo163的blog: <a href="http://www.matrix.org.cn/blog/yahoo163">http://www.matrix.org.cn/blog/yahoo163</a><br><br><br>简单的log4j使用只需要导入下面的包就可以了<br>// import log4j packages<br>import org.apache.log4j.logger;</p>
<p>然后你需要在类的开头写上下面一句<br>private final static logger log =<br>logger.getlogger(classname.class);//注意这里写的是当前类的类名。<br>这样你就有了一个日志对象叫做 log,这个log有以下集中用法<br>log.info();//一般信息<br>log.debug();//调试信息<br>log.error();//错误信息<br>log.warn();//警告信息<br>log.fatal();//致命错误信息<br>上面列出的就是所谓log4j的输出级别,log4j建议只使用4个级别,它们从上到下分别为<br>error、warn、info、debug,假设你定义的级别是info,那么error和warn的日志可以显示而比他低的debug信息就不显示了。<br>知道了上面的内容还不够,要想很好的使用log4j你还需要配置log4j的环境。因为每个log都可以通过配置它的属性文件来达到控制日志输出的格式的目的,下面我给出一个在weblogic下使用log4j的配置过程,首先给出这个配置文件的完整信息。<br><!-- log4j.properties--><br>#log4j.rootlogger=info,a1,r //这一句指定了日志输出的级别为info,a1和r分别代表日志输出到什么地方。<br>log4j.category.hybl_wshabcm=debug,a1,r //这一句指定了日志具体输出哪个包的信息,以及输出位置<br>log4j.appender.a1=org.apache.log4j.consoleappender //这里指定了日志输出的第一个位置a1是控制台consoleappender<br>/*<br>*其中,log4j提供的appender有以下几种:<br>*org.apache.log4j.consoleappender(控制台),<br>*org.apache.log4j.fileappender(文件),<br>*org.apache.log4j.dailyrollingfileappender(每天产生一个日志文件),<br>*org.apache.log4j.rollingfileappender(文件大小到达指定尺寸的时候产生一个新的文件),<br>*org.apache.log4j.writerappender(将日志信息以流格式发送到任意指定的地方)<br>*<br>*/<br>log4j.appender.a1.layout=org.apache.log4j.patternlayout //指定a1的布局模式</p>
<p>/*<br>*其中,log4j提供的layout有以下几种:<br>×org.apache.log4j.htmllayout(以html表格形式布局),<br>*org.apache.log4j.patternlayout(可以灵活地指定布局模式),<br>*org.apache.log4j.simplelayout(包含日志信息的级别和信息字符串),<br>*org.apache.log4j.ttcclayout(包含日志产生的时间、线程、类别等等信息)<br>*/<br>log4j.appender.a1.layout.conversionpattern=%-d{yyyy-mm-dd hh:mm:ss,sss} [%c]-[%p] %m%n //指定日志的输出格式</p>
<p><br>log4j.appender.r=org.apache.log4j.rollingfileappender //指定以文件的方式输出日志<br>log4j.appender.r.file=c:/sys.html //文件位置<br>log4j.appender.r.maxfilesize=500kb //文件最大尺寸<br>log4j.appender.r.maxbackupindex=1 //备份数<br>log4j.appender.r.layout=org.apache.log4j.htmllayout //文件的格式为html格式<br>#log4j.appender.r.layout=org.apache.log4j.patternlayout <br>log4j.appender.r.layout.conversionpattern=%d{yyyy-mm-dd hh:mm:ss,sss} [%t] [%c] [%p] - %m%n</p>
<p><!-- log4j.properties--></p>
<p><br>有了上面的这个文件我们还要在weblogic启动的时候通过一个类加载这个文件,可以使用下面的方式<br>1、加载配置文件的servlet<br><!--setupservlet --><br>package hybl_wshabcm.servelet;</p>
<p>import java.io.file;<br>import java.io.linenumberreader;<br>import java.io.filereader;<br>import java.io.filenotfoundexception;<br>import java.io.ioexception;<br>import java.util.vector;<br>import java.sql.driver;<br>import java.sql.drivermanager;</p>
<p>// import servlet packages<br>import javax.servlet.http.httpservlet;<br>import javax.servlet.servletconfig;<br>import javax.servlet.servletexception;</p>
<p>// import log4j packages<br>import org.apache.log4j.logger;<br>import org.apache.log4j.propertyconfigurator;<br>public class setupservlet extends httpservlet{</p>
<p>public void init(servletconfig config) throws servletexception{</p>
<p>super.init(config);</p>
<p>// first thing to do, is to set up the driver that we might be using<br>// in case of jdbcappender<br>try{<br>driver d =<br>(driver)(class.forname(<br>"org.gjt.mm.mysql.driver").newinstance());<br>drivermanager.registerdriver(d);<br>//加载jdbc驱动程序,当准备将日志记录到数据库的时候可以使用<br>}catch(exception e){ system.err.println(e); }</p>
<p>// next load up the properties<br>//启动时从web.xml中获得配置文件的信息<br>string props = config.getinitparameter("props");</p>
<p>if(props == null props.length() == 0 <br>!(new file(props)).isfile()){</p>
<p>system.err.println(<br>"error: cannot read the configuration file. " +<br>"please check the path of the config init param in web.xml");<br>throw new servletexception();<br>}<br>}</p>
<p>public void destroy(){<br>super.destroy();<br>}<br>}<br><!--setupservlet --></p>
<p>2、web.xml文件的部署<br>上面的这个servlet在服务器启动的时候将一些初始化信息加载,那么如何在weblogic启动的时候将这个类也<br>加载呢?看一个例子<br><servlet><br><servlet-name>setup</servlet-name> <br><servlet-class>hybl_wshabcm.servelet.setupservlet</servlet-class>//启动时装载的类 <br><init-param><br><param-name>props</param-name><br><param-value>/web-inf/log4j.properties</param-value>//部署文件的位置<br></init-param><br><load-on-startup>2</load-on-startup>//这句很重要<br></servlet></p>
<p>好了,现在你可以象开头那样使用log4j来记录日志了</p>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器