1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.logging.log4j.io.internal;
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.io.ByteStreamLogger;
27 import org.apache.logging.log4j.spi.ExtendedLogger;
28
29
30
31
32
33
34 public class InternalOutputStream extends OutputStream {
35
36 private final ByteStreamLogger logger;
37 private final String fqcn;
38
39 public InternalOutputStream(final ExtendedLogger logger, final Level level, final Marker marker,
40 final Charset charset, final String fqcn) {
41 this.logger = new ByteStreamLogger(logger, level, marker, charset);
42 this.fqcn = fqcn;
43 }
44
45 @Override
46 public void close() throws IOException {
47 this.logger.close(this.fqcn);
48 }
49
50 @Override
51 public void flush() throws IOException {
52
53 }
54
55 @Override
56 public void write(final byte[] b) throws IOException {
57 this.logger.put(this.fqcn, b, 0, b.length);
58 }
59
60 @Override
61 public void write(final byte[] b, final int off, final int len) throws IOException {
62 this.logger.put(this.fqcn, b, off, len);
63 }
64
65 @Override
66 public void write(final int b) throws IOException {
67 this.logger.put(this.fqcn, (byte) (b & 0xFF));
68 }
69 }