src/share/classes/java/util/logging/FileHandler.java
Print this page
@@ -147,45 +147,50 @@
private String pattern;
private String lockFileName;
private FileChannel lockFileChannel;
private File files[];
private static final int MAX_LOCKS = 100;
- private static java.util.HashMap<String, String> locks = new java.util.HashMap<>();
+ private static final java.util.HashMap<String, String> locks = new java.util.HashMap<>();
/**
* A metered stream is a subclass of OutputStream that
* (a) forwards all its output to a target stream
* (b) keeps track of how many bytes have been written
*/
private class MeteredStream extends OutputStream {
- OutputStream out;
+ final OutputStream out;
int written;
MeteredStream(OutputStream out, int written) {
this.out = out;
this.written = written;
}
+ @Override
public void write(int b) throws IOException {
out.write(b);
written++;
}
+ @Override
public void write(byte buff[]) throws IOException {
out.write(buff);
written += buff.length;
}
+ @Override
public void write(byte buff[], int off, int len) throws IOException {
out.write(buff,off,len);
written += len;
}
+ @Override
public void flush() throws IOException {
out.flush();
}
+ @Override
public void close() throws IOException {
out.close();
}
}
@@ -605,10 +610,11 @@
* Format and publish a <tt>LogRecord</tt>.
*
* @param record description of the log event. A null record is
* silently ignored and is not published
*/
+ @Override
public synchronized void publish(LogRecord record) {
if (!isLoggable(record)) {
return;
}
super.publish(record);
@@ -618,10 +624,11 @@
// we are only initialized from trusted code. So we assume
// it is OK to write the target files, even if we are
// currently being called from untrusted code.
// So it is safe to raise privilege here.
AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ @Override
public Object run() {
rotate();
return null;
}
});
@@ -632,10 +639,11 @@
* Close all the files.
*
* @exception SecurityException if a security manager exists and if
* the caller does not have <tt>LoggingPermission("control")</tt>.
*/
+ @Override
public synchronized void close() throws SecurityException {
super.close();
// Unlock any lock file.
if (lockFileName == null) {
return;
@@ -654,10 +662,11 @@
lockFileChannel = null;
}
private static class InitializationErrorManager extends ErrorManager {
Exception lastException;
+ @Override
public void error(String msg, Exception ex, int code) {
lastException = ex;
}
}