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.
这错误。上面的问题的详细描述。
恶心得很。。大大的受打击
非常感谢大家看到这里谢谢!!
希望大虾能帮忙小弟解决!!!@_@
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货