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.LoggingEvent; 21 22 23 /** 24 * LoggingEventPatternConverter is a base class for pattern converters 25 * that can format information from instances of LoggingEvent. 26 * 27 * @author Curt Arnold 28 * 29 */ 30 public abstract class LoggingEventPatternConverter extends PatternConverter { 31 /** 32 * Constructs an instance of LoggingEventPatternConverter. 33 * @param name name of converter. 34 * @param style CSS style for output. 35 */ 36 protected LoggingEventPatternConverter( 37 final String name, final String style) { 38 super(name, style); 39 } 40 41 /** 42 * Formats an event into a string buffer. 43 * @param event event to format, may not be null. 44 * @param toAppendTo string buffer to which the formatted event will be appended. May not be null. 45 */ 46 public abstract void format( 47 final LoggingEvent event, final StringBuffer toAppendTo); 48 49 /** 50 * {@inheritDoc} 51 */ 52 public void format(final Object obj, final StringBuffer output) { 53 if (obj instanceof LoggingEvent) { 54 format((LoggingEvent) obj, output); 55 } 56 } 57 58 /** 59 * Normally pattern converters are not meant to handle Exceptions although 60 * few pattern converters might. 61 * 62 * By examining the return values for this method, the containing layout will 63 * determine whether it handles throwables or not. 64 65 * @return true if this PatternConverter handles throwables 66 */ 67 public boolean handlesThrowable() { 68 return false; 69 } 70 }