37 lines
874 B
Java
37 lines
874 B
Java
package net.locusworks.logger;
|
|
|
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.PrintStream;
|
|
|
|
@ApplicationLoggerInfo(name="System.Err", defaultLevel=LogLevel.ERROR)
|
|
public class SystemErrLogger extends PrintStream {
|
|
|
|
private ApplicationLogger logger;
|
|
|
|
public SystemErrLogger() {
|
|
this(ApplicationLoggerFactory.getLogger(SystemErrLogger.class));
|
|
}
|
|
|
|
public SystemErrLogger(ApplicationLogger logger) {
|
|
super(new ByteArrayOutputStream());
|
|
this.logger = logger;
|
|
}
|
|
|
|
@Override
|
|
public void write(byte[] b) {
|
|
logger.error(new String(b, UTF_8));
|
|
}
|
|
|
|
@Override
|
|
public void write(byte[] b, int off, int len) {
|
|
logger.error(new String(b, off, len, UTF_8));
|
|
}
|
|
|
|
@Override
|
|
public void write(int b) {
|
|
write(new byte[] { (byte)b });
|
|
}
|
|
}
|