(web日志)把后台的日志System.out输出到网页servlet
来源:互联网 发布:c语言常量 编辑:程序博客网 时间:2024/04/28 03:01
纯代码,待优化把System.out的输出放到servlet中我以为logback本身有这个功能,但是没有找到,就自己写了试验类的...* 获取logback日志流...* 方案1: 直接读取文件 分段读取 http://sunnylocus.iteye.com/blog/694666* 方案2: logback 配置apender到某个流...复杂* 方案3: 复制System.out流* 方案4: 读取System.out流再保存(缓存)后期可以添加 ajax实现 "在线日志" 这是后话了.....
import java.io.IOException;import java.io.OutputStream;import java.io.PrintStream;import java.io.*;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 WebLogerServlet extends HttpServlet{static OutputStream life =null; Logger logger = LoggerFactory.getLogger(PosConsumeServlet.class);public void init(){System.setOut(new PrintStream(new BuffStream()));System.setErr(new PrintStream(new BuffStream()));System.out.println("100KB....");}private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{response.setContentType("application/json");response.getWriter().write(BuffStream.getBuff());}}class BuffStream extends OutputStream{static char[] buff=new char[1024*100]; // 100KB内容static OutputStream cout=System.out; //把原来的out保存下来.static OutputStream cerr =System.err;static int index=0; public static String getBuff(){//new ByteSchar[] bb=new char[index];for(int i=0;i{bb[i]=buff[i];}return new String(bb);}@Overridepublic void write(int b) throws IOException {cout.write(b);if(index{buff[index]=(char) b;index++;}else{index=0;}}}class DoubleStream extends OutputStream {OutputStream output1;OutputStream output2;public DoubleStream(OutputStream output1, OutputStream output2) {this.output1 = output1;this.output2 = output2;}public void write(int b) throws IOException {if(output1!=null)output1.write(b);if(output2!=null){output2.write(b);}}}//Logger logger=LoggerFactory.getLogger(WebLogerServlet.class);//LoggerFactory.getILoggerFactory();// LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory();// lc.// lc.getStatusManager();
0 0
- (web日志)把后台的日志System.out输出到网页servlet
- 把system.out.println的内容用log4j输出到tomcat日志里方法
- 用log4j输出system.out的日志
- 简单的把System.out.println的输出内容写进日志中
- 关闭tomcat的stdout日志,并将System.out.println的内容输出到指定文件
- 如何在Windows下实现将System.out输出到指定日志文件
- windows下使用log4j将日志输出到文件,包括system.out
- 如何快速的把日志输出到磁盘上
- weblogic后台日志输出到文件中
- weblogic后台日志输出到文件中
- 把在程序中的System.out.print()的信息自动转成log4j日志信息
- 把在程序中的System.out.print()的信息自动转成log4j日志信息
- 把log4j日志信息输出到数据库
- Java使用WebSocket监控Tomcat日志catalina.out实时输出到Web页面
- 如何实现把web项目的输出流重置,并将打印语句结果写到日志文件
- java怎么把system.out的东西输出到文件上
- Log4J输出日志到WEB工程目录的实现方法
- LOG4J输出日志到web目录的相对路径
- 常用颜色的RGB值
- AngularJS最佳实践: 请小心使用 ng-repeat 中的 $index
- Window、PhoneWindow与DecorView
- <LeetCode OJ> 78 / 90 Subsets (I / II)
- 关于might_sleep的一点说明
- (web日志)把后台的日志System.out输出到网页servlet
- 算法训练 最大最小公倍数
- 获取本地时间和网络时间
- web前端错误日志-------display
- 计算机网络之数据链路层
- Android反编译与防反编译
- android中Notification状态栏的简单实用
- 远程执行shell
- Jquery定义对象( 闭包 )