1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.log4j.pattern;
19
20 import org.apache.log4j.spi.LocationInfo;
21 import org.apache.log4j.spi.LoggingEvent;
22
23
24 /***
25 * Return the event's line location information in a StringBuffer.
26 *
27 * @author Ceki Gülcü
28 */
29 public final class LineLocationPatternConverter
30 extends LoggingEventPatternConverter {
31 /***
32 * Singleton.
33 */
34 private static final LineLocationPatternConverter INSTANCE =
35 new LineLocationPatternConverter();
36
37 /***
38 * Private constructor.
39 */
40 private LineLocationPatternConverter() {
41 super("Line", "line");
42 }
43
44 /***
45 * Obtains an instance of pattern converter.
46 * @param options options, may be null.
47 * @return instance of pattern converter.
48 */
49 public static LineLocationPatternConverter newInstance(
50 final String[] options) {
51 return INSTANCE;
52 }
53
54 /***
55 * {@inheritDoc}
56 */
57 public void format(final LoggingEvent event, final StringBuffer output) {
58 LocationInfo locationInfo = event.getLocationInformation();
59
60 if (locationInfo != null) {
61 output.append(locationInfo.getLineNumber());
62 }
63 }
64 }