`

web 项目_ log4j__转转java3Z

    博客分类:
  • java
阅读更多

在web应用中使用日志工具log4J
   

 
         

下载源代码

〖 作者:站长整理 〗〖 大小:311k 〗〖 发布日期:2005-08-13 〗〖 浏览:503 〗
    Log4J 是Jakarta下的一个开源代码的子项目,用Log4J,我们可以使用定制的格式,把调试信息和日志信息输出到一个或多个需要的地方。 在Web应用中一般使用一个专门的Servlet来完成Log4J的配置,并保证在web.xml的配置中,这个Servlet位于其它Servlet之前,以便在 Servlet和jsp中调用。下面是这个servlet,代码如下:
package example;
import org.apache.log4j.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
   
public class Log4jInit extends HttpServlet {
     public void init() {
          String prefix =  getServletContext().getRealPath("/");
          String file = getInitParameter("log4j");//配置文件位置
          if(file != null) { 
              PropertyConfigurator.configure(prefix+file);
          }
     }

 public void doGet(HttpServletRequest req,
    HttpServletResponse res) {  }
}    


此servlet在web.xml中配置:
</web-app>
 ........... 
 servlet>
   <servlet-name>log4j-init</servlet-name>
   <servlet-class>example.Log4jInit</servlet-class>
   <init-param>
      <param-name>log4j</param-name>
      <param-value>WEB-INF/log4j.properties</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>
 ........... 
</web-app>

用来配置log4J的属性文件:
log4j.rootLogger=debug, A1 , R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=cwblog4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

    这个配置文件指定了两个输出源A1和R。前者把日志信息输出到控制台,后者是一个轮转日志文件。最大的文件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把example.log重命名为example.log.1,然后重建一个新的example.log文件,依次轮转。

测试文件:
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="org.apache.log4j.*" %>
<%      
    Logger logger = Logger.getLogger("test.jsp");
    logger.debug("befor say hi");
%>
<h1> Hi</h1>
<%  logger.info("after say hi");%>

   在服务器上的$TOMCAT_HOME/log4j.log文件中看到如下的信息:
DEBUG Thread-5 testlog4j.jsp - befor say hi
INFO Thread-5 testlog4j.jsp - after say hi
   在$TOMCAT_HOME/logs/stdout.log文件的最后有下面的输出。
信息: Server startup in 5678 ms
2004-07-07 09:54:05 [testlog4j.jsp]-[DEBUG] befor say hi
2004-07-07 09:54:05 [testlog4j.jsp]-[INFO] after say hi

分享到:
评论

相关推荐

    ssm_lib.7z

    Log4j是广泛使用的日志记录框架,`log4j-core-2.11.2.jar`提供了核心的日志处理功能,帮助开发者记录和分析应用程序的运行情况。 Javassist库(`javassist-3.24.1-GA.jar`)是一个用于操作和转换字节码的库,常被...

    springmvc_demo.7z

    【标题】"springmvc_demo.7z"是一个包含SpringMVC项目源码的压缩包,意味着它提供了使用SpringMVC框架构建的Web应用程序的完整代码结构。SpringMVC是Spring框架的一部分,主要用于处理Web请求,提供模型-视图-控制器...

    java伪静态的实现doc

    在项目中,你需要将`URLRewriteFilter`的jar包(如`URLrewrite.jar`)添加到`WEB-INF/lib`目录下,并在`WEB-INF/web.xml`中进行配置。配置如下: ```xml &lt;filter-name&gt;UrlRewriteFilter &lt;filter-class&gt;org....

    图片转BASE64编码.7z

    Base64编码的工作原理是将每3个8位字节(24位)的数据块转换成4个6位字节(24位)的数据块,并使用特定的字符集(A-Z, a-z, 0-9, + 和 /)来表示这些6位字节。最后,为了确保编码字符串的长度是6位的整数倍,可能会...

    sshjspstruts2.7z

    10. `commons-logging-1.1.3.jar`:Apache Commons Logging是一个日志抽象层,允许在应用中选择不同的日志实现,如Log4j、java.util.logging等,提高了日志组件的可替换性。 这些库文件组合在一起,为开发者提供了...

    Java开源的下一代社区平台Symphony.zip

    Sym 提供了 API 进行帖子、回帖的同步(B3log 构思),目前 Solo、Typecho、Z-BlogPHP、WordPress 均已经提供插件来进行内容同步,欢迎大家进行接入! 以后也会陆续加入新的接口,方便大家制作 APP 客户端或是一些...

    整理后java开发全套达内学习笔记(含练习)

    log n.日志,记录 [lɒg] native (关键字) ?? ['neitiv] nested [java] 嵌套的 ['nestid] '如:内部类(nested classes) Object [java] 对象 ['ɒbdʒekt] Overload [java] 方法的重载(不同参数列表的同名方法) [,...

    jsp办公自动化OA程序

    4. 配置文件:如web.xml,定义了应用的部署描述符,包括Servlet和过滤器的配置。 5. CSS/JavaScript:用于页面样式和交互效果。 6. 图片和其他资源文件:支持网页的视觉呈现。 【开发流程】 开发此类系统通常包括...

    提取汉字拼音

    1. 引入`pinyin4j`库到你的项目中。 2. 创建`PinyinHelper`对象,它是`pinyin4j`的核心类。 3. 调用`toHanyuPinyinStringArray()`方法,传入一个汉字,它会返回一个包含所有可能拼音的字符串数组。 示例代码如下: ...

    cxf开发rest风格接口jar

    这取决于你的项目配置,可能需要`log4j-1.x.y.jar`或`slf4j-api-1.x.y.jar`以及相应的实现库。 6. **Dependency Management**: 使用Maven或Gradle等构建工具时,它们会自动处理这些依赖关系并下载正确的版本。如果...

    (Java Script %26 正则表达式)使用手册

    #### 4. 利用正则表达式处理字符串 JavaScript 中的正则表达式主要通过 `RegExp` 对象来使用。 ##### 4.1 JS中正则表达式 (RegExp) 对象 `RegExp` 是一个内置对象,用于存储正则表达式模式。 ##### 4.1.1 RegExp...

    ss3ex中使用UrlRewrite

    `ss3ex`可能是一个基于Java的Web框架,但具体细节并未给出,我们通常可以将`ss3ex`理解为一个自定义或特定于项目的框架,它可能基于Spring、Struts或其他类似的Web框架。 描述中提到的“博文链接:...

    Java学习笔记-个人整理的

    {14.4}dom4j}{207}{section.14.4} {14.5}XPath}{210}{section.14.5} {14.6}apache.commons}{211}{section.14.6} {15}sqlite3}{213}{chapter.15} {16}Web基础}{215}{chapter.16} {16.1}...

    sleuthTest.7z

    Feign是一个基于Java的声明式Web服务客户端,它的设计灵感来源于Ribbon和Hystrix。通过Feign,我们可以构建出与服务交互的接口,而无需编写任何HTTP客户端代码。Feign会自动将接口转换为HTTP请求并处理响应。 在"**...

    javascript

    4. **用途**:Java通常用于服务器端开发和桌面应用程序开发,而JavaScript主要用于Web前端开发。 #### 四、JavaScript基本语法详解 ##### 1. 变量的定义与赋值 ```javascript var count; // 声明变量 count = 5; ...

    伪静态.txt伪静态.txt

    ### 四、基于Java Web的伪静态实现示例 本节将详细介绍如何在Java Web应用中实现伪静态,主要通过配置UrlRewriteFilter来完成。 #### 1. 配置Filter 首先,在`web.xml`文件中配置UrlRewriteFilter,以便在Web应用...

    ArcGIS for android 访问天地图

    3. 日志调试:利用Android的Log类输出关键步骤的日志,便于定位问题。 **五、进一步增强功能** 1. 添加图层切换:你可以动态地添加或移除图层,以满足不同场景的需求。 2. 实现地理编码和反地理编码:ArcGIS 提供...

    webservice catch android

    这是一个更复杂的方法,它接收四个字符串参数:`x`, `y`, `z`, 和 `q`,并将它们插入到一个名为“charity”的Access数据库中。在这个过程中,它首先构建了一个连接字符串来连接数据库,然后使用`OleDbConnection`...

Global site tag (gtag.js) - Google Analytics