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.FilterOutputStream;
21 import java.io.IOException;
22 import java.io.OutputStream;
23 import java.nio.charset.Charset;
24
25 import org.apache.logging.log4j.Level;
26 import org.apache.logging.log4j.Marker;
27 import org.apache.logging.log4j.io.internal.InternalFilterOutputStream;
28 import org.apache.logging.log4j.spi.ExtendedLogger;
29
30
31
32
33
34
35
36
37
38 public class LoggerFilterOutputStream extends FilterOutputStream {
39 private static final String FQCN = LoggerFilterOutputStream.class.getName();
40
41 private final InternalFilterOutputStream logger;
42
43 protected LoggerFilterOutputStream(final OutputStream out, final Charset charset, final ExtendedLogger logger,
44 final String fqcn, final Level level, final Marker marker) {
45 super(out);
46 this.logger = new InternalFilterOutputStream(out, charset, logger, fqcn == null ? FQCN : fqcn,
47 level, marker);
48 }
49
50 @Override
51 public void close() throws IOException {
52 this.logger.close();
53 }
54
55 @Override
56 public void flush() throws IOException {
57 this.logger.flush();
58 }
59
60 @Override
61 public String toString() {
62 return LoggerFilterOutputStream.class.getSimpleName() + logger.toString();
63 }
64
65 @Override
66 public void write(final byte[] b) throws IOException {
67 this.logger.write(b);
68 }
69
70 @Override
71 public void write(final byte[] b, final int off, final int len) throws IOException {
72 this.logger.write(b, off, len);
73 }
74
75 @Override
76 public void write(final int b) throws IOException {
77 this.logger.write(b);
78 }
79 }