web app的Log4j应用
1 建立log.properties
log level定为INFO,不显示DEBUG信息。log输出依次为文件,控制台
log4j.rootLogger=INFO,R,CONSOLE
#DEBUG,CONSOLE
log4j.addivity.org.apache=true
###################
# Console Appender
###################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#####################
# File Appender,文件满100kb,自动生成file.log.n
#####################
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=d:\\file.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
2 建立初始化Action Servlet
import com.nova.colimas.web.constants.*;
import org.apache.log4j.*;
public class StartupServlet extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
try{
//初始化log
initLog();
}catch(Exception e){
e.printStackTrace();
return mapping.findForward("failure");
}
Logger logger = Logger.getLogger(this.getClass());
logger.info("init log...");
}
private void initLog() throws Exception{
//获得log.properties绝对地址
java.net.URL myfile=this.getClass().getResource("/resources/log/properties");
//加载log配置文件log.properties
if(myfile.getPath()!=null)
PropertyConfigurator.configure(myfile.getPath());
else
throw new Exception("no log configure");
}
}
3 写log
public class LoginAction extends Action {
LoginContext loginContext=null;
LoginForm loginForm=null;
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
Logger logger = Logger.getLogger(this.getClass());
logger.info("login success");
return mapping.findForward("success");
}
}
log文件内容如下:
INFO http-8080-Processor24 com.nova.colimas.web.action.StartupServlet - init colimas...
INFO http-8080-Processor24 com.nova.colimas.web.action.StartupServlet - init security successfully
INFO http-8080-Processor24 com.nova.colimas.web.action.StartupServlet - init DAO successfully
INFO http-8080-Processor24 com.nova.colimas.web.action.LoginAction - login success
分享到:
相关推荐
本文将详细讲解如何将Log4j整合到Web应用并通过web.xml进行配置,以实现日志信息的输出和管理。 1. **Log4j介绍** - Log4j由Apache软件基金会开发,提供了一种简单但功能强大的日志记录API,可以控制日志信息的...
本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...
Log4j是Apache组织开发的一个强大的、灵活的日志记录框架,被广泛应用于各种Java应用中。本文将围绕Log4j的核心配置文件`log4j.properties`进行详细讲解,分为完整版和精简版两个部分。 **1. Log4j基础概念** Log4...
`log4j.properties` 文件位于应用的 `WEB-INF` 目录下,它是 Log4j 的核心配置文件。下面是一个简单的示例: ```properties # 设置根 logger 的级别和 Appender log4j.rootLogger=INFO, A1, R # 定义 ...
3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api.jar`和`log4j-slf4j-impl.jar`,这将使Tomcat使用Log4j2作为其内部的日志系统。 4. **排除其他日志实现**:确保你的应用中没有引入其他的日志实现...
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
`Log4j`作为一款优秀的日志管理工具,被广泛应用于Java应用程序中。然而,在不同的开发环境下,日志文件的存储路径往往需要根据实际情况进行调整,这不仅增加了维护成本,还可能导致日志丢失或错误记录。因此,采用...
本文将详细介绍如何在Web应用中集成和使用Log4J。 1. **Log4J的基本概念** - **Logger**:日志记录器,是Log4J的核心组件,负责生成日志信息。 - **Appender**:输出目标,定义日志信息输出的位置,如控制台、...
Log4j因其灵活性和高性能而受到广泛欢迎,常用于服务器端应用程序、Web应用、大数据处理等领域。开发者可以轻松调整日志级别,以适应不同的运行环境,如开发、测试和生产。 7. **进阶使用** 除了基本的日志记录,...
3. **部署与测试**:将`log4j.properties`文件放入应用的资源目录,例如`WEB-INF/classes`。启动或重启WebSphere V5服务器,然后通过应用程序运行时的日志输出来验证配置是否生效。 对于iBATIS,这是一个流行的Java...
log4j.appender.FILE.File=/path/to/app.log log4j.appender.FILE.Append=true log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout....
log4j.appender.File.File=logs/app.log log4j.appender.File.Append=true log4j.appender.File.Threshold=INFO log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout....
在J2EE应用中,尤其是在Tomcat这样的Servlet容器中使用Log4j,通常需要在Web应用的`web.xml`配置文件中指定日志初始化参数。这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为...
对于Web应用,如果你使用的是Spring Boot,可以在`src/main/resources`目录下创建`log4j2.xml`,因为Spring Boot默认使用Log4j2。配置方法类似,但需按照Log4j2的XML语法编写。 在实际开发中,我们可能需要根据不同...
创建一个名为`log4j.properties`或`log4j.xml`的配置文件,放置在Web应用的`WEB-INF/classes`目录下。例如,`log4j.properties`配置如下: ```properties # 设置全局日志级别为INFO log4j.rootLogger=INFO, FILE #...
在`web.xml`中,你需要定义这个`Log4jInit`Servlet,并设置初始化参数`log4j`为`WEB-INF/classes/log4j.properties`的路径,这样在Web应用启动时,`Log4jInit`Servlet就会被调用,从而动态设置日志路径。 总结来说...
log4j.appender.FILE.File=/var/log/tomcat/app.log log4j.appender.FILE.Append=true log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.ImmediateFlush=true log4j.appender.FILE.DatePattern='.'...
WAS 上 log4j 日志不能输出(ibatis)sql 语句解决办法 在部署到 WAS 服务器上的 CMSII 系统中,ibatis 的 sql 语句不能输出日志的问题。解决该问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下...
log4j.appender.File.File=logs/app.log log4j.appender.File.Append=true log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5...
本教程将通过一个Eclipse项目的实例——"JavaWEB版本Log4J的Demo",深入讲解如何在Java Web应用程序中集成并使用Log4J。 首先,Log4J的核心组件包括Logger、Appender和Layout。Logger是日志信息的生产者,负责生成...