1.NC不能使用的原因,在启服务的时候,是将System.out替换成了自己写的PrintStream(NCSysOutWrapper),会将打印信息打印到sysout这个日志里,而不打印控制台
2.通过NCSysOutWrapper这个包装类得知,一下几种方式可以恢复打印功能
1>将System.out强转为NCSysOutWrapper,直接打印
NCSysOutWrapper nc = (NCSysOutWrapper) System.out;
nc.getSysStream().print(ip);
2>删除sysout日志,重启服务。因为如果获取不到该日志,NCSysOutWrapper就会进行控制台输出
3>还有一种是通过System.err.println();专门输出到sysout日志中文件名叫nchr-log,之所以不用System.out是因为NC对这个日志的默认级别是error
探讨了NC服务在使用自定义PrintStream(NCSysOutWrapper)导致控制台打印功能失效的问题,提供了三种恢复打印功能的方法:强转打印、删除日志重启服务和使用System.err.println()。
3440

被折叠的 条评论
为什么被折叠?



