1.简单的web应用中,导入三个jar包:slf4j-api.jar、slf4j-log4j12-***.jar、log4j.jar
2.测试:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class AppTest {
private static final Logger logger = LoggerFactory.getLogger(AppTest.class);
public void doSomeThing(){
logger.info("现在是测试log4j与slf4j的使用:。。。。。");
}
public static void main(String[] args) {
AppTest at = new AppTest();
at.doSomeThing();
}
}
这个类可以正确的输出那句中文到我指定的日志文件;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Log4jServlet extends HttpServlet {
private static final long serialVersionUID = -720704120457821456L;
private static final Logger logger = LoggerFactory.getLogger(Log4jServlet.class);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
logger.info("WEB测试log4j的使用!");
}
public void init() throws ServletException {
}
}
上面这个servle在我使用weblogic启动应用后就只能打印到控制台而不能够输出到文件中;我尝试在web.xml中配置log4j.properties的指向,但还是不行;希望又遇到过这个问题的朋友帮解答,谢谢!
下面是 log4j.properties的内容
log4j.rootLogger=INFO,R,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D\:\\logs\\test.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
log4j.logger.java.sql.Connection=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.PreparedStatement=INFO
log4j.logger.java.sql.ResultSet=INFO