log4j.properties
 
##Loggers##
log4j.rootLoger=INFO,console
log4j.logger.helloAppLogger=WARN
log4j.logger.helloAppLogger.childLogger=,file##Appenders##
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=TestLog4j.log##定义Layouts##
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n
 
 
Log4j.jsp
 
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ page import="org.apache.log4j.*" %>
<%
 //加载Log4j配置文件。
 String path = getServletContext().getRealPath("/") + "WEB-INF/log4j.properties";//找到这个文件
 PropertyConfigurator.configure(path);//加载这个文件
 
 //获得Logger实例----helloAppLogger
 Logger helloAppLogger = Logger.getLogger("helloAppLogger");
 //获得Logger实例----childLogger
 Logger childLogger = Logger.getLogger("helloAppLogger.childLogger");
 
 //通过helloAppLogger输出日志信息
 helloAppLogger.debug(helloAppLogger.getName() + ": This is a debug message");
 helloAppLogger.info(helloAppLogger.getName() + ": This is a info message");
 helloAppLogger.warn(helloAppLogger.getName() + ": This is a warn message");
 helloAppLogger.error(helloAppLogger.getName() + ": This is a error message");
 helloAppLogger.fatal(helloAppLogger.getName() + ": This is a fatal message");
 
 //通过childLogger输入日志信息
 childLogger.debug(childLogger.getName() + ": This is a debug message");
 childLogger.info(childLogger.getName() + ": This is a info message");
 childLogger.warn(childLogger.getName() + ": This is a warn message");
 childLogger.error(childLogger.getName() + ": This is a error message");
 childLogger.fatal(childLogger.getName() + ": This is a fatal message");
%>运行时候出来
 
log4j:WARN No appenders could be found for logger (helloAppLogger).
log4j:WARN Please initialize the log4j system properly.
 
这错误。
 
 
log4j.properties我是放在WEB-INF文件夹下的,用elipse运行。是不是有问题?
我估计还
//加载Log4j配置文件。
 String path = getServletContext().getRealPath("/") + "WEB-INF/log4j.properties";//找到这个文件
这句话可能有毛病。
 
但是换啊换啊,网上找的,说换在src文件夹,classess文件夹,或者放WebContent下的,我都试过了。
 
放src下的时候
我改成了这样:
String path = getServletContext().getRealPath("/") + "src/log4j.properties";
出来
java.io.FileNotFoundException:E:\JavaIDE\java-src-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\webapps\TestLog4j\src\log4j.properties (系统找不到指定的路径。)
这错误
把路径的“src/log4j.properties”换成“/src/log4j.properties”也是同样错误。
 
改成"build/classes/log4j.properties"
换classes下还是出来找不到文件的错误。
 
 
放WebContent下的时候
我改成这样:
String path = getServletContext().getRealPath("/") + "log4j.properties";
出来跟WEB-INF一样
log4j:WARN No appenders could be found for logger (helloAppLogger).
log4j:WARN Please initialize the log4j system properly.
这错误。上面的问题的详细描述。
 
恶心得很。。大大的受打击
 
非常感谢大家看到这里谢谢!!
希望大虾能帮忙小弟解决!!!@_@