1 /** 2 * Logback: the reliable, generic, fast and flexible logging framework. 3 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 4 * 5 * This program and the accompanying materials are dual-licensed under 6 * either the terms of the Eclipse Public License v1.0 as published by 7 * the Eclipse Foundation 8 * 9 * or (per the licensee's choosing) 10 * 11 * under the terms of the GNU Lesser General Public License version 2.1 12 * as published by the Free Software Foundation. 13 */ 14 package ch.qos.logback.classic.pattern; 15 16 import ch.qos.logback.core.CoreConstants; 17 18 /** 19 * This abbreviator returns the class name from a fully qualified class name, 20 * removing the leading package name. 21 * 22 * @author Ceki Gülcü 23 */ 24 public class ClassNameOnlyAbbreviator implements Abbreviator { 25 26 public String abbreviate(String fqClassName) { 27 // we ignore the fact that the separator character can also be a dollar 28 // If the inner class is org.good.AClass#Inner, returning 29 // AClass#Inner seems most appropriate 30 int lastIndex = fqClassName.lastIndexOf(CoreConstants.DOT); 31 if (lastIndex != -1) { 32 return fqClassName.substring(lastIndex + 1, fqClassName.length()); 33 } else { 34 return fqClassName; 35 } 36 } 37 }