/WEB-INF/log4j.propertieslog4j.rootLogger=INFO,R 
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyyMMdd'.log'
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.R.File=C:/logs/tomcat.log 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):  %m%n
Log4jInitpublic class Log4jInit extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L; public void init(){
String prefix=this.getServletContext().getRealPath("/");
String file=this.getInitParameter("log4j");
System.out.println(prefix+file);
if(file!=null){
PropertyConfigurator.configure(prefix+file);
}
}
}
一个Servlet写日志
Logger logger=Logger.getLogger(Search.class);
logger.info("ssssss");
当该servlet被访问时,并没有出现应该出现的信息

解决方案 »

  1.   

    web.xml<servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>com.goodtion.sweetop.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>
      

  2.   

    <param-name>log4j</param-name>
    <param-value>WEB-INF/log4j.properties </param-value> 
      

  3.   

    [code=INIFile]### 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=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file hibernate.log ###
    #log4j.appender.fileout=org.apache.log4j.RollingFileAppender
    #log4j.appender.fileout.File=suremanager.log
    #log4j.appender.fileout.MaxFileSize=10000KB
    #log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
    #log4j.appender.fileout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###
    log4j.rootLogger=INFO, stdout### add more debug levels here ###
    #log4j.logger.org.hibernate=debug
    #log4j.logger.org.springframework=debug
    log4j.logger.com.danga.MemCached=WARN[/code]
    我的你位置放哪了?
      

  4.   

    应该是tomcat的问题,最奇怪的是ROOT的目录下的全部删除了,输入http://localhost/ 仍能访问以前的一个页面,把一个项目拷到ROOT目录下,仍显示那个网页,需要说明的是,我并没有在server.xml配置<Context path="" ........>哦最后还是不用拷到ROOT里的方法了,直接用<Context ..........> 配置现在想起来都觉得恐怖,见鬼了啊,哈哈
      

  5.   

    呵呵,我们一般在root目录下做引导页面工程一般不部署在里面
      

  6.   

    呃.......有可能是这样一个问题.....某分,某秒...初始化log4j日志文件,日志文件不存在...文件系统建立日志文件ing...(建立中)cpu切时间片了..或者其他些什么原因程序运行到日志打印语句,打印日志....(文件未建立...so....打印失败..)日志文件....建立了..........第二次运行..........可以成功打印日志..因为日志文件存在...楼主砍掉那些个log.......重新多跑几次,看会不会重现..
      

  7.   

    见过太多次鬼了。xml始终出错,重启cat,no。清除缓存,no。重启电脑,no。怒了~~~~~~!!!一个星期后的一天,无意中运行通过,狂晕中。