`
xueguiping
  • 浏览: 46768 次
  • 性别: 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
分享到:
评论

相关推荐

    log4j与web.xml的配置

    - 将log4j配置文件放入WEB-INF/classes目录下,确保在Web应用启动时能被加载。 4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml ...

    tomcat下的log4j日志配置

    该 Servlet 的主要任务是在启动时加载特定的 `log4j.properties` 文件。 ```java public class Log4jInitServlet extends HttpServlet { @Override public void init() throws ServletException { String ...

    tomcat8更换log4j记录日志

    3. 在Tomcat的`web.xml`配置文件中,可能需要配置一个`ContextLoaderListener`,以确保在应用程序启动时加载Log4j配置。 压缩包中的"**lib**"目录可能包含Log4j的必要依赖库,比如`log4j.jar`,这是运行Log4j的日志...

    Spring项目中怎么配置log4j

    最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml &lt;param-name&gt;log4jConfigLocation ...

    log4j详细配置说明

    - **配置 web.xml**:在应用的 `web.xml` 文件中添加以下配置,以便在启动时加载 Log4j: ```xml &lt;listener-class&gt;com.apache.jakarta.log4j.Log4jInit&lt;/listener-class&gt; ``` 其中 `&lt;init-param&gt;` 用于指定...

    Log4j日志配置说明,Log4j日志配置说明

    这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...

    JBOSS log4j 配置

    明白这一点很重要,这里 Log4j 有一个规则:假设 Loggers 级别为 P,如果在 Loggers 中发生了一个级别 Q 比 P 高,则可以启动,否则屏蔽掉。 Java 程序举例来说: ``` //建立 Logger 的一个实例,命名为“com.foo”...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    同时,确保Tomcat启动脚本(`catalina.sh`或`catalina.bat`)包含以下行来加载Log4j配置: ```bash -Dlog4j.configuration=file:${catalina.base}/conf/log4j.properties ``` 这样,Tomcat就会使用Log4j进行日志...

    WebSphere V5 配置log4j

    至于WSAD(WebSphere Application Developer)5.1配置log4j的步骤,可以通过编辑服务器的类加载器配置,将log4j的相关JAR文件添加到服务器的类路径,并确保`log4j.properties`文件在正确的位置。`WSAD5.1配置log4j....

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    为了使配置生效,我们需要在`web.xml`中添加如下配置,让Spring容器加载log4j配置: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties&lt;/param-value&gt; &lt;!-- 指定log4j...

    使用log4j写日志文件

    要在Web应用中使用Log4j,需要在Servlet容器启动时加载配置文件。下面是一个简单的Servlet示例,展示了如何在Servlet的`init()`方法中初始化Log4j: ```java public class InitServlet extends HttpServlet { ...

    Tomcat下使用Log4j接管生成日志文件

    启动Tomcat,程序运行时,Log4j会根据配置文件生成日志文件。 通过以上步骤,你可以在Tomcat环境中成功地使用Log4j接管日志生成。记住,合理配置日志级别和输出位置,可以有效地辅助开发和维护,避免日志信息过于...

    无法打出log4j日志的问题排查

    5. **类路径加载**:确保Log4j的库文件(log4j-core和log4j-api的JAR文件)在类路径中。对于Web应用,这些JAR可能需要放在WEB-INF/lib目录下。 6. **代码使用**:检查代码中对Log4j的引用是否正确。通常,我们使用...

    log4j jar包下载

    3. **初始化**:在应用程序启动时,Log4j会自动加载配置文件,并根据配置设置日志记录行为。 4. **使用API**:通过调用`Logger`类的方法,如`logger.info()`, `logger.error()`等,可以在代码中插入日志语句。 5. ...

    log4j初始化

    1. **创建Servlet进行初始化**:首先,需要创建一个Servlet,该Servlet会在容器启动时自动加载,从而执行`log4j`的初始化操作。 2. **配置log4j文件名参数**:在web.xml中,为Servlet配置初始化参数,指明`log4j`...

    JavaWEB版本Log4J的Demo

    此外,项目还可能包含了一个示例的Web.xml配置,用于在Web应用启动时加载Log4J的配置文件。 通过这个Demo,你可以学习到如何在Java Web环境中配置和使用Log4J,理解其工作原理,以及如何根据需要调整日志级别和输出...

    Spring对Log4J的增强.txt

    - **说明**:通过注册`Log4jConfigListener`监听器,可以在应用启动时自动加载Log4J配置,并在配置文件发生变化时自动刷新配置。 #### 三、Log4J配置文件详解 Log4J配置文件通常是`.xml`格式,其中包含了日志输出...

    Log4j在web和控制台应用程序的使用

    在web应用中,通常会将Log4j配置文件(log4j.properties或log4j.xml)放在类路径下,以便在web容器启动时自动加载。通过在代码中创建Logger实例,开发者可以方便地记录请求处理、数据库操作等各种日志信息。 然后,...

    LOG4J的使用

    LOG4J会在启动时自动查找配置文件。如果使用IDE运行程序,应将`log4j.properties`文件放在`classes`目录下;如果是在Web服务器上运行,应将其放在`WEB-INF/classes/`目录下。 3. **基本配置器** 如果没有使用...

    weblogic与apache、log4J整合

    最后,关于log4J的集成,因为Spring框架通常依赖log4J来管理日志,所以需要在`web.xml`中指定log4j配置文件的位置,这样Spring启动时会读取这个配置文件来设定日志输出的级别、格式等参数。例如: ```xml &lt;!-- log4...

Global site tag (gtag.js) - Google Analytics