From 9cccd0bfc993a8825c8aad6891f16ff25c440cc8 Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Sun, 8 Aug 2004 01:40:48 +0000 Subject: [PATCH] rather than flush any/all log messages 10 times a second, flush log messages once there are 100 of them or 10 seconds have passed, whichever comes first --- core/java/src/net/i2p/util/LogManager.java | 10 ++++++++++ core/java/src/net/i2p/util/LogWriter.java | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java index f736a21fc5..bbd5d82659 100644 --- a/core/java/src/net/i2p/util/LogManager.java +++ b/core/java/src/net/i2p/util/LogManager.java @@ -209,8 +209,18 @@ public class LogManager { * */ void addRecord(LogRecord record) { + int numRecords = 0; synchronized (_records) { _records.add(record); + numRecords = _records.size(); + } + + if (numRecords > 100) { + // the writer waits 10 seconds *or* until we tell them to wake up + // before rereading the config and writing out any log messages + synchronized (_writer) { + _writer.notifyAll(); + } } } diff --git a/core/java/src/net/i2p/util/LogWriter.java b/core/java/src/net/i2p/util/LogWriter.java index 421f13dc1f..0b476ff278 100644 --- a/core/java/src/net/i2p/util/LogWriter.java +++ b/core/java/src/net/i2p/util/LogWriter.java @@ -72,12 +72,15 @@ class LogWriter implements Runnable { t.printStackTrace(); } finally { try { - Thread.sleep(100); + synchronized (this) { + this.wait(10*1000); + } } catch (InterruptedException ie) { // nop } } } + private void rereadConfig() { long now = Clock.getInstance().now(); if (now - _lastReadConfig > CONFIG_READ_ITERVAL) { -- GitLab