Package com.mckoi.util

## Class LogWriter

- java.lang.Object
- - java.io.Writer
  - - com.mckoi.util.LogWriter

All Implemented Interfaces:
  `java.io.Closeable`, `java.io.Flushable`, `java.lang.Appendable`, `java.lang.AutoCloseable`

    public class LogWriter
    extends java.io.Writer

A Writer that writes information to a log file that archives old log entries when it goes above a certain size.

Author:
  Tobias Downer

### Field Summary

### Fields inherited from class java.io.Writer

`lock`

### Constructor Summary

Constructors
`LogWriter​(java.io.File base_name, long max_size, int archive_count)` Constructs the log writer.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()`
`void` `flush()`
`void` `write​(char[] cbuf, int off, int len)`
`void` `write​(int c)`
`void` `write​(java.lang.String str, int off, int len)`

### Methods inherited from class java.io.Writer

`append, append, append, nullWriter, write, write`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LogWriter

    public LogWriter​(java.io.File base_name,
                     long max_size,
                     int archive_count)
              throws java.io.IOException

Constructs the log writer. The 'base_name' is the name of log file. 'max_size' is the maximum size the file can grow to before it is copied to a log archive.

Throws:
  `java.io.IOException`

### Method Detail

#### write

    public void write​(int c)
               throws java.io.IOException

Overrides:
  `write` in class `java.io.Writer`
Throws:
  `java.io.IOException`

#### write

    public void write​(char[] cbuf,
                      int off,
                      int len)
               throws java.io.IOException

Specified by:
  `write` in class `java.io.Writer`
Throws:
  `java.io.IOException`

#### write

    public void write​(java.lang.String str,
                      int off,
                      int len)
               throws java.io.IOException

Overrides:
  `write` in class `java.io.Writer`
Throws:
  `java.io.IOException`

#### flush

    public void flush()
               throws java.io.IOException

Specified by:
  `flush` in interface `java.io.Flushable`
Specified by:
  `flush` in class `java.io.Writer`
Throws:
  `java.io.IOException`

#### close

    public void close()
               throws java.io.IOException

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in class `java.io.Writer`
Throws:
  `java.io.IOException`