|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2004-10-21
我按照csdn上面的一篇介绍进行配置。
首先,我配置了commons-logging.properties,其中只有一句: [code:1] org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger [/code:1] 然后我将Hibernate中的log4j.properties拷贝出来,并稍作修改: [code:1] log4j.rootLogger=DEBUG, stdout, file ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%m%n ### direct messages to file hibernate.log ### log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=hibernate.log log4j.appender.file.MaxFileSize=100KB log4j.appender.file.MaxBackupIndex=1 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.logger.org.hibernate=info ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info [/code:1] 然后将这个log4j.properties和commons-logging.properties一起放在项目的/WEB-INF/classes目录下面。 在/WEB-INF/lib下,我也同时放置了commons-logging.jar和log4j.jar 然后我将项目部署到JBOSS下,发现在控制台的输出有所变化,在原本内容处,多了时间输出:(下面是一例) [code:1] 10:52:22,890 INFO [STDOUT] 2004-10-21 10:52:22 net.sf.hibernate.impl.SessionFac toryImpl <init> 信息: building session factory [/code:1] 但是显然和我在log4j.properties配置的不一致,然后,我把我的项目中的log4j.properties文件删除,发现输出没有变化,表明我的这个配置文件没有起到作用,我想请问到底应该如何配置才能起效果呢? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2004-10-21
很明显啊:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger 你设的是Jdk14Logger!!! 可以不用建commons-logging.properties文件的,log4j.xml足够,因为commons-logging如果发现classpath存在log4j就优先用它 我也用commons-logging,我的WEB-INF/classes下只有log4j.xml |
|
| 返回顶楼 | |
|
时间:2004-10-21
引用 很明显啊:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger 你设的是Jdk14Logger!!! 可以不用建commons-logging.properties文件的,log4j.xml足够,因为commons-logging如果发现classpath存在log4j就优先用它 我也用commons-logging,我的WEB-INF/classes下只有log4j.xml 我按照你的方法,把commons-logging.properties删除了,但是还是没有起作用,真不知道到底如何配置log4j,楼上能不能详细介绍一下配置的过程呢? |
|
| 返回顶楼 | |
|
时间:2004-10-22
log4j.logger.org.hibernate=info
换成 log4j.logger.net.sf.hibernate=info 再试试 |
|
| 返回顶楼 | |
|
时间:2004-10-25
我根据log4j的文档,写了一个servlet做初始化:
[code:1] package com.adt.util; import javax.servlet.*; import javax.servlet.http.*; import org.apache.log4j.*; /** * @author Joa */ public class Log4jInit extends HttpServlet { // Initialize global variables public void init() throws ServletException { String prefix = getServletContext().getRealPath("/"); String file = getInitParameter("log4j"); //if the log4j-init-file is not set, then no point in trying if(file != null) { PropertyConfigurator.configure(prefix+file); } } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) { } } [/code:1] 并在web.xml中加入了: [code:1] <servlet> <servlet-name>log4jinit</servlet-name> <servlet-class>com.adt.util.Log4jInit</servlet-class> <init-param> <param-name>log4j</param-name> <param-value>WEB-INF/classes/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> [/code:1] 但是我把project部署到JBOSS下面以后,出现了: ERROR: invalid console appender config detected, console stream is looping 这是什么问题?是不是和JBOSS本身的log4j.xml冲突了?这样的问题该如何解决呢? |
|
| 返回顶楼 | |
|
时间:2004-11-06
我在tomcat下使用log4j和common-logging的时候也有类似的问题,似乎,log4j.properties这个文件并没有被加载。
但是按照网上的一些资料,log4j在结合common-logging的情况似乎是不需要些配置文件加载的代码的,只要把两个配置文件放在classes/文件夹下,并且把两个包放在lib/下就可以了阿,可是为什么又不起作用呢。 |
|
| 返回顶楼 | |
|
时间:2004-11-07
http://wiki.ivanshi.com/space/start/2004-11-07/2#JCL,用还是不用?
看看这个吧,我今天在JCL上的wiki看到的,然后,搜集了这些资料 |
|
| 返回顶楼 | |
|
时间:2004-11-08
只需要在CLASSPATH中设置log4j.properties所在目录就可以了。
其他的都不必做。 |
|
| 返回顶楼 | |
|
时间:2004-11-08
这个问题我也遇到过,不过似乎只是linux版本的tomcat/jdk有问题,windows版本的tomcat/jdk却表现良好。
在linux-tomcat下加下面的参数让commons-logging不要去找log4j,然后项目中直接使用log4j就没有问题了。 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger |
|
| 返回顶楼 | |
|
时间:2004-11-08
不知道大家有没有用过JBOSS,它默认是用log4j来输出日志的.我在项目中再配置一个log4j.properties死活成功不了.
不知道大家在JBOSS环境下是如何运用Log4J的 |
|
| 返回顶楼 | |







