1. Logger日志为什么不打印?
答:(1)需要在RESIN_HOMG\lib目录下包含所用的日志包,如:log4j-1.2.8.jar,commons-logging.jar;
(2)需要在WEB-INFO\classes\目录下必须包含:commons-logging.properties和log4j.properties这两个文件;
(3)commons-logging.properties文件中的内容如下:如果采用Log4J日志器那么必须写成:org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
##set Log as Log4J
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
## set Log as SimpleLog
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
(4)需要在web.xml中配置初始化Log4J:
(5)在程充序使用有以下几种方式:
第一种方式:
importorg.apache.log4j.Logger;
privatestatic Logger logger = Logger.getLogger(LoginAction.class);
logger.info("now enter LoginAction:execute() method!");
第二种方式:
importorg.apache.log4j.Category;
privatestatic Categorylogger=Category.getInstance(LoginAction.class);
logger.info("now enter LoginAction:execute() method!");
第三种方式:
importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;
privatestatic Log logger=LogFactory.getLog(LoginAction.class);
logger.info("now enter LoginAction:execute() method!");
*******************************************************************************************
详情参见以下内容:
一:介绍
log4j是jakarta的一个项目主要是为了调试使用的,为了不让是在程序中写很多System.out.println();
我个人觉得是一个不错的工具,程序调试好以后你可以关掉log4j.
二:下载
你可以从下面的地址下载到ant,目前版本:1.13
http://jakarta.apache.org/builds/jakarta-log4j/release/v1.1.3/
三:安装
log4j不需要安装,你只需要把log4j.jar,log4j-core.jar放在classpath中你就可以使用。
四:使用log4j
1:)copylog4j.jar,log4j-core.jar到classpath中,在tomcat4.03中你可以把它放在
tomcat_home\common\lib目录下。
2:设置属性文件
log4j需要用到一个log4j.properties文件内容如下:
log4j.properties
=====================================
log4j.rootCategory=, A1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
最简单的配置,如果希望很复杂,自己看文档。
3:写启动文件
log4j的初始化有几种方式,我下面只提供一种方式。
InitServlet.java (一个servlet)
==================================
importjava.io.InputStream;
importjava.io.IOException;
importjava.util.Hashtable;
importjava.util.Locale;
importjava.util.MissingResourceException;
importjavax.servlet.RequestDispatcher;
importjavax.servlet.ServletException;
importjavax.servlet.UnavailableException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importjavax.servlet.*;
importjava.io.*;
public classInitServlet extends HttpServlet {
protected String config = "/log4j.properties";
public void init() throws ServletException {
ServletContext sct = getServletContext();
System.out.println("[Log4j]: The Root Path: " + sct.getRealPath("/"));
System.out.println("[Log4j]: InitServlet init start...");
org.apache.log4j.PropertyConfigurator.configure(sct.getRealPath("/")+ getServletConfig().getInitParameter("log4j"));
System.out.println("[Log4j]: InitServlet init over.");
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
;
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
;
}
}
4:设置web.xml
上面写的servlet的在AppServer启动是就要运行,所以你需要配置一下web.xml
加上如下内容:
<servlet>
<servlet-name>init</servlet-name>
<servlet-class>com.InitServlet</servlet-class>
<init-param>
<param-name>log4j</param-name>
<param-value>/log4j.properties</param-value>
<!--相对aplication的路径在ROOT/log4j.properties参照上面-->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
5:在程序中使用log4j;
private static org.apache.log4j.Category log =
org.apache.log4j.Category.getInstance(classname);
//classname java文件名
log.debug(".........");
log.error(".........");
.....
具体的运用你可以看log4j的文档
log4j.properties文件的内容为:
_________________________________
log4j.rootLogger=INFO,console,file 注解:这里console,file都表示Appendername,可以随便启名,后面用的时候一定要与此名保此一致即可!
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=c:\system.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n
commons-logging.properties文件的内容为:
_______________________________________
##set Log as Log4J
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
## set Log as SimpleLog
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
另外:请注意:一个resin服务只支持一个日志文件,并且只能将日志文件放到c盘