1.web.xml
<context-param>
<!-- 配置加载的logj的配置文件的路径 -->
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
2.写个监听器
package com.dbq.common.listener;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.log4j.Logger;
import com.dbq.common.util.PropertiesUtil;
public class DerbyDBEngineryListener implements ServletContextListener{
// 日志输出
private static final transient Logger loger = Logger.getLogger(DerbyDBEngineryListener.class);
public void contextInitialized(ServletContextEvent evn) {
FileInputStream istream = null;
try {
String realPath = evn.getServletContext().getRealPath("/");
String home = evn.getServletContext().getInitParameter("dbHome");
String filePath = realPath + evn.getServletContext().getInitParameter("log4j");
try {
istream = new FileInputStream(filePath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Properties props = new Properties();
try {
props.load(istream);
istream.close();
} catch (IOException e) {
e.printStackTrace();
}
String logFile = realPath + props.getProperty("log4j.appender.file.File");//设置路径
props.setProperty("log4j.appender.file.File", logFile);
PropertyConfigurator.configure(props);//装入log4j配置信息
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public void contextDestroyed(ServletContextEvent env) {
}
}
cxf.jaxrs.ext.ResponseHandler;
ResponseStreamWriterProvider implements ResponseHandler
XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(outMessage.getContent(OutputStream.class));
outMessage.setContent(XMLStreamWriter.class, new ResponseStreamWriter(writer));
eturn null;
ResponseStreamWriter extends DelegatingXMLStreamWriter