001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.classic.pattern; 015 016import ch.qos.logback.core.CoreConstants; 017 018/** 019 * This abbreviator returns the class name from a fully qualified class name, 020 * removing the leading package name. 021 * 022 * @author Ceki Gülcü 023 */ 024public class ClassNameOnlyAbbreviator implements Abbreviator { 025 026 public String abbreviate(String fqClassName) { 027 // we ignore the fact that the separator character can also be a dollar 028 // If the inner class is org.good.AClass#Inner, returning 029 // AClass#Inner seems most appropriate 030 int lastIndex = fqClassName.lastIndexOf(CoreConstants.DOT); 031 if (lastIndex != -1) { 032 return fqClassName.substring(lastIndex + 1, fqClassName.length()); 033 } else { 034 return fqClassName; 035 } 036 } 037}