`
xueguiping
  • 浏览: 46045 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

web启动加载log4j

    博客分类:
  • jsp
阅读更多

今天下午有点累,所以把以往工作中遇到的问题和自己解决的方法和大家共享一下

日志是每个工程必不可少的部分,而log4j大家也用的很熟了,有将调试信息打到控制台的,有的保存文件或数据库

在这里我给给大家讲一个log4j的用法,是在bs中如何加载到log4j的文件,并将调试信息记录下来

首先写好log4j文件

如下(比较简单),这是配置成每日递增的日志

log4j.rootLogger = error, dailyFile
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.File=dailyRollingFile.log
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=%d (%c:%L)--%m%n

然后在web.xml中定义一个servlet

这里有2个参数,一个是log4j,这个参数是定义了log4j的位置

另外一个参数outputDir,这里是定义输出的日志目录(不用预先建立,会自动建立)

<servlet></servlet>

xml 代码
  1. <servlet>  
  2.   <servlet-name>SystemStartUp</servlet-name>  
  3.   <servlet-class>  
  4.    com.cnc.proud.servlet.SystemStartUp   
  5.   </servlet-class>  
  6.   <init-param>  
  7.    <param-name>log4j</param-name>  
  8.    <param-value>WEB-INF\classes\log4j.properties</param-value>  
  9.   </init-param>  
  10.   <init-param>  
  11.    <param-name>outputDir</param-name>  
  12.    <param-value>logs</param-value>  
  13.   </init-param>  
  14.   <load-on-startup>2</load-on-startup>  
  15.  </servlet>  

 

然后看看这个servlet,首先取得web.xml中的2个参数,并读取相应的配置信息,然后用PropertyConfigurator这个类加载

java 代码
  1. package proud.servlet;   
  2.   
  3. import java.io.FileInputStream;   
  4. import java.io.IOException;   
  5. import java.util.Properties;   
  6.   
  7. import javax.servlet.ServletConfig;   
  8. import javax.servlet.ServletContext;   
  9. import javax.servlet.ServletException;   
  10. import javax.servlet.http.HttpServlet;   
  11.   
  12. import org.apache.log4j.PropertyConfigurator;   
  13.   
  14. import com.cnc.proud.util.ServiceFactory;   
  15.   
  16. /**  
  17.  * 启动加载  
  18.  *   
  19.  * @author proud   
  20.  */  
  21. public class SystemStartUp extends HttpServlet {   
  22.   
  23.  private static final long serialVersionUID = 8421025842405267201L;   
  24.   
  25.  public void init(ServletConfig config) throws ServletException {   
  26.   super.init(config);   
  27.   ServiceFactory.init();   
  28.   String prefix = config.getServletContext().getRealPath("/");   
  29.   String file = config.getInitParameter("log4j");   
  30.   String filePath = prefix + file;   
  31.   String outputDir = config.getInitParameter("outputDir");   
  32.   
  33.   Properties props = new Properties();   
  34.   try {   
  35.    FileInputStream istream = new FileInputStream(filePath);   
  36.    props.load(istream);   
  37.    istream.close();   
  38.    String logFile = prefix + outputDir + "\\"  
  39.      + props.getProperty("log4j.appender.dailyFile.File");  
  40.    props.setProperty("log4j.appender.dailyFile.File", logFile);  
  41.    PropertyConfigurator.configure(props);  
  42.    System.out.println("启动日志成功!");  
  43.   } catch (IOException e) {  
  44.    System.out.println("启动日志失败!");   
  45.   }   
  46.  }   
  47. }   
  48.   

这个只是在发布工程的时候适用,调试程序的时候建议还是用console方式

并且记得在发布工程的时候把输出级别调高点,如error

 

0
0
分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 564 19.1.2 appender组件 566 19.1.3 layout组件 567 19.2 使用log4j 568 19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 ...

    可用于Struts、Struts2、Hibernate、Spring、Json、Ajax等j2ee项目开发的类库完整版

    log4j是英文输出),可满足绝大部分Java Web项目开发需求,如SSH1、SSH2等。注意,包里自带了MySQL-JDBC驱动,如果用MySQL数据库的话直接只导入这一个包就可以了,但是如果使用其他数据库记得加载数据库驱动。这个...

    axis1.4 部署解析webservie

    D:\axis\WEB-INF\lib\log4j-1.2.8.jar; D:\axis\WEB-INF\lib\mail.jar; D:\axis\WEB-INF\lib\saaj.jar; D:\axis\WEB-INF\lib\wsdl4j-1.5.1.jar; D:\axis\WEB-INF\lib\xmlsec.jar 启动TOMCAT,浏览器输入...

    Apache安装及JBOSS部署说明文档.rar

    2.2.8日志配置,配置log4j.xml 18 2.2.9配置contentType及charset,TOMCAT5.0下JSP统一配置 19 2.3 JVM最小、最大内存的设定 21 2.4 OS字符集问题 21 2.5 JBOSS服务的启动、停止 21 3.附apache https 服务器的...

    基于EXT SSI的简单树实现

    一个基于EXT实现的树,先上图。...1 导入 commons-logging-1.1.jar log4j-1.2.14.jar 2 写log4j.properties 3 在代码中使用方式 static Log log = LogFactory.getLog("Action类"); log.debug("result is " + result);

    ssh(structs,spring,hibernate)框架中的上传下载

    这是Hibernate3引入的新特性,对于包含重量级大数据的表字段,这种抽取方式提高了对大字段操作的灵活性,否则加载Tfile对象的结果集时如果总是返回fileContent,这种批量的数据抽取将可以引起数据库的"洪泛效应"。...

    example-spring-boot-embedded-felix:测试如何将Apache Felix嵌入到Spring Boot应用程序中

    将Spring默认日志记录配置为在资源中使用log4j2.xml 为Felix框架添加一种在内部环境中使用Spring引导属性的方法 费利克斯 创建FelixService作为Spring Service Component和ApplicationReadyEvent事件侦听器以对其...

    java微信公众号MVC开发框架

    load-on-startup表示Servlet在web应用启动阶段加载,数字代表了启动次序,如果项目使用了springmvc框架,可以调整该数字为2,放到springmvc框架后面启动加载,但实际上Servlet的启动次序并没有太大的关系。...

    springboot参考指南

    使用YAML或JSON配置Log4j2 vi. 67. 数据访问 i. 67.1. 配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用...

    单点登录源码

    Log4J | 日志组件 | [http://logging.apache.org/log4j/1.2/](http://logging.apache.org/log4j/1.2/) Swagger2 | 接口测试框架 | [http://swagger.io/](http://swagger.io/) sequence | 分布式高效ID生产 | ...

    新版Android开发教程.rar

    四频 (850 , 900 , 1800 , 1900) ;支持 3G , 802.11b 和 802.11g 。----------------------------------- Android 编程基础 5 互联网 支持 HTTP 、 WAP Push 和 xHTML ;支持 POP 、 IMAP 、 SMTP ,以及 AOL ...

Global site tag (gtag.js) - Google Analytics