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 * Formats the class name of the site of the logging request.
26 *
27 * @author Ceki Gülcü
28 */
29 public final class ClassNamePatternConverter extends NamePatternConverter {
30 /***
31 * Private constructor.
32 * @param options options, may be null.
33 */
34 private ClassNamePatternConverter(
35 final String[] options) {
36 super("Class Name", "class name", options);
37 }
38
39 /***
40 * Gets an instance of ClassNamePatternConverter.
41 * @param options options, may be null.
42 * @return instance of pattern converter.
43 */
44 public static ClassNamePatternConverter newInstance(
45 final String[] options) {
46 return new ClassNamePatternConverter(options);
47 }
48
49 /***
50 * Format a logging event.
51 * @param event event to format.
52 * @param toAppendTo string buffer to which class name will be appended.
53 */
54 public void format(final LoggingEvent event, final StringBuffer toAppendTo) {
55 final int initialLength = toAppendTo.length();
56 LocationInfo li = event.getLocationInformation();
57
58 if (li == null) {
59 toAppendTo.append(LocationInfo.NA);
60 } else {
61 toAppendTo.append(li.getClassName());
62 }
63
64 abbreviate(initialLength, toAppendTo);
65 }
66 }