选择显示字体大小

log4j 使用心得

<p>from yahoo163的blog: <a href=&quot;http://www.matrix.org.cn/blog/yahoo163&quot;>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>&times;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>&quot;org.gjt.mm.mysql.driver&quot;).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(&quot;props&quot;);</p>
<p>if(props == null props.length() == 0 <br>!(new file(props)).isfile()){</p>
<p>system.err.println(<br>&quot;error: cannot read the configuration file. &quot; +<br>&quot;please check the path of the config init param in web.xml&quot;);<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   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons