From 5a6acf1d85efa1a62c9e630f1c7e41d8f1fad883 Mon Sep 17 00:00:00 2001 From: zzz Date: Fri, 25 Oct 2013 19:55:09 +0000 Subject: [PATCH] * Router: Only log pingfile error once (ticket #1086) --- .../java/src/net/i2p/router/tasks/MarkLiveliness.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/router/java/src/net/i2p/router/tasks/MarkLiveliness.java b/router/java/src/net/i2p/router/tasks/MarkLiveliness.java index 9c9f4f129..00bba1a5b 100644 --- a/router/java/src/net/i2p/router/tasks/MarkLiveliness.java +++ b/router/java/src/net/i2p/router/tasks/MarkLiveliness.java @@ -13,6 +13,7 @@ import java.io.FileOutputStream; import java.io.IOException; import net.i2p.router.Router; +import net.i2p.util.Log; import net.i2p.util.SecureFileOutputStream; import net.i2p.util.SimpleTimer; @@ -25,6 +26,7 @@ import net.i2p.util.SimpleTimer; public class MarkLiveliness implements SimpleTimer.TimedEvent { private final Router _router; private final File _pingFile; + private volatile boolean _errorLogged; public MarkLiveliness(Router router, File pingFile) { _router = router; @@ -43,10 +45,13 @@ public class MarkLiveliness implements SimpleTimer.TimedEvent { FileOutputStream fos = null; try { fos = new SecureFileOutputStream(_pingFile); - fos.write(("" + System.currentTimeMillis()).getBytes()); + fos.write(Long.toString(System.currentTimeMillis()).getBytes()); } catch (IOException ioe) { - System.err.println("Error writing to ping file"); - ioe.printStackTrace(); + if (!_errorLogged) { + Log log = _router.getContext().logManager().getLog(MarkLiveliness.class); + log.logAlways(Log.WARN, "Error writing to ping file " + _pingFile + ": " + ioe); + _errorLogged = true; + } } finally { if (fos != null) try { fos.close(); } catch (IOException ioe) {} }