com.sun.jmx.examples.scandir.config.ResultRecord Java Examples

The following examples show how to use com.sun.jmx.examples.scandir.config.ResultRecord. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ResultLogManager.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #2
Source File: DirectoryScanner.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #3
Source File: ResultLogManager.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #4
Source File: ResultLogManager.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #5
Source File: ResultLogManager.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #6
Source File: ResultLogManager.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #7
Source File: DirectoryScanner.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #8
Source File: ResultLogManager.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #9
Source File: ResultLogManager.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #10
Source File: ResultLogManager.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #11
Source File: DirectoryScanner.java    From dragonwell8_jdk with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #12
Source File: ResultLogManager.java    From jdk8u-jdk with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #13
Source File: ResultLogManager.java    From jdk8u-jdk with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #14
Source File: ResultLogManager.java    From jdk8u-jdk with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #15
Source File: DirectoryScanner.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #16
Source File: DirectoryScanner.java    From jdk8u-jdk with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #17
Source File: ResultLogManager.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #18
Source File: ResultLogManager.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #19
Source File: DirectoryScanner.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #20
Source File: ResultLogManager.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #21
Source File: ResultLogManager.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #22
Source File: ResultLogManager.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #23
Source File: DirectoryScanner.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #24
Source File: ResultLogManager.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #25
Source File: ResultLogManager.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #26
Source File: ResultLogManager.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}
 
Example #27
Source File: DirectoryScanner.java    From jdk8u_jdk with GNU General Public License v2.0 5 votes vote down vote up
private boolean logResult(File file,Action[] actions) {
    try {
        logManager.log(new ResultRecord(config, actions,file));
        return true;
    } catch (Exception x) {
        LOG.fine("Failed to log: "+file.getAbsolutePath());
    }
    return false;
}
 
Example #28
Source File: ResultLogManager.java    From jdk8u_jdk with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Create a new ResultLogManagerMXBean. This constructor is package
 * protected: only the {@link ScanManager} can create a
 * <code>ResultLogManager</code>.
 **/
ResultLogManager() {
    // Instantiate the memory log - override the add() method so that
    // it removes the head of the list when the maximum capacity is
    // reached. Note that add() is the only method we will be calling,
    // otherwise we would have to override all the other flavors
    // of adding methods. Note also that this implies that the memoryLog
    // will *always* remain encapsulated in this object and is *never*
    // handed over (otherwise we wouldn't be able to ensure that
    // add() is the only method ever called to add a record).
    //
    memoryLog =
            Collections.synchronizedList(new LinkedList<ResultRecord>() {
        public synchronized boolean add(ResultRecord e) {
            final int max = getMemoryLogCapacity();
            while (max > 0 && size() >= max) {
                memCapacityReached = true;
                removeFirst();
            }
            return super.add(e);
        }
    });

    // default memory capacity
    memCapacity = 2048;

    // default file capacity: 0 means infinite ;-)
    fileCapacity = 0;

    // by default logging to file is disabled.
    logFile = null;

    // Until the ScanManager apply a new configuration, we're going to
    // work with a default ResultLogConfig object.
    config = new ResultLogConfig();
    config.setMemoryMaxRecords(memCapacity);
    config.setLogFileName(getLogFileName(false));
    config.setLogFileMaxRecords(fileCapacity);
}
 
Example #29
Source File: ResultLogManager.java    From jdk8u_jdk with GNU General Public License v2.0 5 votes vote down vote up
private void logToMemory(ResultRecord record) {

        final boolean before = memCapacityReached;
        final boolean after;
        synchronized(this) {
            memoryLog.add(record);
            after = memCapacityReached;
        }
        if (before==false && after==true)
            sendNotification(new Notification(MEMORY_LOG_MAX_CAPACITY,
                    objectName,
                    getNextSeqNumber(),"memory log capacity reached"));
    }
 
Example #30
Source File: ResultLogManager.java    From jdk8u_jdk with GNU General Public License v2.0 5 votes vote down vote up
private void logToFile(ResultRecord record) throws IOException {
    final String basename;
    final long   maxRecords;
    synchronized (this) {
        if (logFile == null) return;
        basename = getLogFileName(false);
        maxRecords = fileCapacity;
    }

    // Get the stream into which we should log.
    final OutputStream stream =
            checkLogFile(basename,maxRecords,false);

    // logging to file now disabled - too bad.
    if (stream == null) return;

    synchronized (this) {
        try {
            XmlConfigUtils.write(record,stream,true);
            stream.flush();
            // don't increment logCount if we were not logging in logStream.
            if (stream == logStream) logCount++;
        } catch (JAXBException x) {
            final IllegalArgumentException iae =
                    new IllegalArgumentException("bad record",x);
            LOG.finest("Failed to log record: "+x);
            throw iae;
        }
    }
}