【发布时间】:2017-01-07 01:02:08
【问题描述】:
我正在使用 java.util.logging 来设置记录器,代码如下:
fh = new FileHandler(file.getAbsolutePath());
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.setLevel(Level.ALL);
记录器与控制台和文件一起工作正常。但是在下面的 JSch 代码 sn-p 之后
`Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(cmd1);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
logger.info("creating tar ,executing command :"+cmd1);
channel.connect();
while (true) {
if (channel.isClosed()) {
System.out.println( logger.getHandlers());
// doesn't log afterwards
logger.info("exit-status: " + channel.getExitStatus());
if (channel.getExitStatus() == 0)
logger.info("tar file with " + tarFileName
+ "has been created successfully at " + path);
break;
}
try {
Thread.sleep(1000);
} catch (Exception ee) {
}
}`
我猜我在执行命令时处理程序发生了变化。如何重置处理程序以便它也开始打印到控制台。
【问题讨论】:
-
是的,记录器是私有静态的,定义为:
-
私有静态 Logger 记录器;
标签: java logging jsch java.util.logging