1.首先,通过log4j.properties 的配置可以在本地产生一个log日志,所以我们要做的就是读取这个文件,并输出到下载文件中,
先看log4j.properties 文件的配置
# Output pattern : date [thread] priority category - message
log4j.rootLogger=INFO, console, logFile
#Console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - <%m>%n
#RollingFile
log4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logFile.File=../logs/copyright.log
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d %p [%c] - <%m>%n
log4j.logger.com.bolo.examples=info
log4j.logger.java.sql=info
看到下面这句了吗?这个就是你自己配置的要在本地生成的(其实是在服务器端)log日志文件,名字你随便改啦。log4j.appender.logFile.File=../logs/copyright.log
@RequestMapping(value="/log", method = { RequestMethod.GET, RequestMethod.POST })
public void log(HttpServletRequest req,Model model,HttpServletResponse response)
throws ServletException, IOException {
System.out.println("this is log download html");
String filename="../logs/copyright.log";
String downFilename="copyright.log";//要下载的文件名称
response.setContentType("text/plain");
response.setHeader("Location",downFilename);
response.setHeader("Content-Disposition", "attachment; filename=" + downFilename);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream( filename);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
}
4、在HTML页面就一个<a href="log">下载日志</a>,点击下
3再看看效果呗~
开森~~~~