7a24916fd469b0189f1190b355f501df6765f4a2
[jalview.git] / srcjar2 / org / apache / log4j / pattern / ClassNamePatternConverter.java
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
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 }