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.BufferedReader;
21 import java.io.IOException;
22 import java.io.Reader;
23 import java.nio.CharBuffer;
24
25 import org.apache.logging.log4j.Level;
26 import org.apache.logging.log4j.Marker;
27 import org.apache.logging.log4j.spi.ExtendedLogger;
28
29
30
31
32
33 public class InternalBufferedReader extends BufferedReader {
34 private static final String FQCN = InternalBufferedReader.class.getName();
35
36 public InternalBufferedReader(final Reader reader, final ExtendedLogger logger, final String fqcn,
37 final Level level, final Marker marker) {
38 super(new InternalLoggerReader(reader, logger, fqcn == null ? FQCN : fqcn, level, marker));
39 }
40
41 public InternalBufferedReader(final Reader reader, final int size, final ExtendedLogger logger, final String fqcn,
42 final Level level, final Marker marker) {
43 super(new InternalLoggerReader(reader, logger, fqcn == null ? FQCN : fqcn, level, marker), size);
44 }
45
46 @Override
47 public void close() throws IOException {
48 super.close();
49 }
50
51 @Override
52 public int read() throws IOException {
53 return super.read();
54 }
55
56 @Override
57 public int read(final char[] cbuf) throws IOException {
58 return super.read(cbuf, 0, cbuf.length);
59 }
60
61 @Override
62 public int read(final char[] cbuf, final int off, final int len) throws IOException {
63 return super.read(cbuf, off, len);
64 }
65
66 @Override
67 public int read(final CharBuffer target) throws IOException {
68 final int len = target.remaining();
69 final char[] cbuf = new char[len];
70 final int charsRead = read(cbuf, 0, len);
71 if (charsRead > 0) {
72 target.put(cbuf, 0, charsRead);
73 }
74 return charsRead;
75 }
76
77 @Override
78 public String readLine() throws IOException {
79 return super.readLine();
80 }
81 }