调用 memcached 的方法

pool = SockIOPool.getInstance(poolName);

此代码并未抛出异常, 而是在后台打印了错误信息, 估计是 使用了 System.setOut。

进行捕捉也捕捉不到任何东西。。

怎么办呢?

System.setOut 重置 out 解决问题。但是, 怎么在System.setOut, 设置回来呢?

事先

  1. PrintStream err;
  2. PrintStream out = null;
  3. PrintStream www = null;
  4. PrintStream old = System.out;
  5. try {
  6. String fileName = "MemcachedUtil.ERR.txt";
  7. String fileName2 = "MemcachedUtil.OUT.txt";
  8. String fileName3 = "MemcachedUtil.www.txt";
  9. err = new PrintStream(fileName);
  10. out = new PrintStream(fileName2);
  11. www = new PrintStream(fileName3);
  12. // System.setErr(err );
  13. System.setOut(out );
  14.  
  15. // System.out.println( 1/0 );
  16. } catch (FileNotFoundException e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. }

然后再 System.setOut( System.out ); —— 可是这样就失效了,

System.setOut(www) 则是可以的

System.setOut( old ); 也可以的

System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));  都是可以的!

看来要研究下里面的源码, 使用了很多开源的技术框架, 却不懂底层原理, 很多不懂, 怎么行?

System.setOut 重定向 memcached 的输出的更多相关文章

  1. java 输入输出IO流:标准输入/输出System.in;System.out;System.err;【重定向输入System.setIn(FileinputStream);输出System.setOut(printStream);】

    Java的标准输入输出分别通过System.in和System.out来代表的,在默认情况下它分别代表键盘和显示器,当程序通过System.in来获取输入时,实际上是从键盘读取输入 当程序试图通过 S ...

  2. 【java】System.out重定向到文件,并重定向会console上

    重定向到文件: System.setOut(new PrintStream(new File("data\\train.1.scale"))); 重定向回console: //把输 ...

  3. Java代码工具箱之控制台输出重定向_控制台输出到文件

    1. 情形:有时候控制台输出太多,在MyEclipse显示不全. 2. 说明:本代码只会重定向 system.out 的内容, error及其它不受代码影响.其它应该类似. //自定导入必要库 //然 ...

  4. System.out.println与System.err.println的区别(输出顺序!!!)

    System.out.println与System.err.println的区别(输出顺序!!!) 分类:java (208)  (0) System.out.println与System.err.p ...

  5. 重定向、feed输出:控制台输出的内容存放到文件

    重定向.feed输出:控制台输出的内容存放到文件 1.重定向 os.system('wget -r -p -np -k http://www.baidu.com/ -o wget.log' ) 2.f ...

  6. bash shell:重定向标准错误输出

    如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件? Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流): stdin - 用来获取输入,比如键盘.文件重定向 stdout ...

  7. Linux shell之重定向输入,输出

    shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命令 ...

  8. C语言学习007:重定向标准输入和输出

    先来完成一个将输入数据转换成json格式输出的小任务 #include <stdio.h> int main(){ float latitude; float longtitude; ]; ...

  9. 程序里面的system.out.println()输出到其他位置,不输出到tomcat控制台。

    设置startup.bat: call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\kongzitai.txt 将sys ...

随机推荐

  1. Excel导出文件流下载

    Controller.cs @CrossOrigin(allowCredentials="true", allowedHeaders="*", methods= ...

  2. vagrant box保存路径修改

    add box的时候默认保存在C盘用户文件夹 C:\Users\xxx.vagrant.d,通过设置VAGRANT_HOME环境变量改变默认位置 WIN setx VAGRANT_HOME “X:/y ...

  3. 关于java前端入门的一些简单的看法

    html:是网页的骨架,静态网页初步的轮廓,简单粗糙,僵硬又没有美感.表单的标签<form>,里面的<input>很常用,里面有type属性等css:为了更加灵活,常与div一 ...

  4. java设计模式-工厂系列

    一.简单工厂 1.背景: 任意定制交通工具的类型和生产过程 代码: Moveable.java package com.cy.dp.factory; public interface Moveable ...

  5. appium 启动了2个端口,但是只有一台机器在跑的 问题解决 (还没试,记录在此)

    appium启动了2个,端口分别设置为了4723 4725, 在测试类中也分别指定了设备和端口,用device来指定.然而每次都是运行一个设备. 后来添加了udid这个来指定才发现可以.deviceN ...

  6. JDK类集框架实验(ArrayList,LinkedList,TreeSet,HashSet,TreeMap,HashMap)

        ArrayList import java.util.ArrayList; public class C8_3 { public static void main(String[] args) ...

  7. 学习笔记之C / C++

    面试总结之C/C++ - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/5558919.html 学习笔记之C++ How to Program(p ...

  8. [转][Centos]常用命令之:ls和cd

    来自:https://www.cnblogs.com/zerotomax/p/7224927.html ls 类似于 dir 在使用centos这个linux系统的时候,我们总是免不了需要查看当前目录 ...

  9. locked (a oracle.jdbc.driver.T4CConnection

    发现写Oracle的线程挂住了,场景是从mysql读数据,然后写到Oracle.   1 定位线程 因为在同一台机器上运行了多个java进程,要找到对应的pid,就是连接mysql的的那个进程.   ...

  10. Java泛型深入理解(转载)

    原文地址  http://blog.csdn.net/sunxianghuang/article/details/51982979 泛型之前 在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将 ...