1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.logging.log4j.io;
19
20 import java.io.IOException;
21 import java.io.OutputStream;
22 import java.nio.charset.Charset;
23
24 import org.apache.logging.log4j.Level;
25 import org.apache.logging.log4j.Marker;
26 import org.apache.logging.log4j.spi.ExtendedLogger;
27
28
29
30
31
32
33
34
35
36 public class LoggerOutputStream extends OutputStream {
37 private static final String FQCN = LoggerOutputStream.class.getName();
38
39 private final ByteStreamLogger logger;
40 private final String fqcn;
41
42 protected LoggerOutputStream(final ExtendedLogger logger, final Level level, final Marker marker,
43 final Charset charset, final String fqcn) {
44 this.logger = new ByteStreamLogger(logger, level, marker, charset);
45 this.fqcn = fqcn == null ? FQCN : fqcn;
46 }
47
48 @Override
49 public void close() throws IOException {
50 this.logger.close(this.fqcn);
51 }
52
53 @Override
54 public void flush() throws IOException {
55
56 }
57
58 @Override
59 public void write(final byte[] b) throws IOException {
60 this.logger.put(this.fqcn, b, 0, b.length);
61 }
62
63 @Override
64 public void write(final byte[] b, final int off, final int len) throws IOException {
65 this.logger.put(this.fqcn, b, off, len);
66 }
67
68 @Override
69 public void write(final int b) throws IOException {
70 this.logger.put(this.fqcn, (byte) (b & 0xFF));
71 }
72 }