1c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson/* 2c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Copyright (C) 2009 The Android Open Source Project 3c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * 4c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Licensed under the Apache License, Version 2.0 (the "License"); 5c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * you may not use this file except in compliance with the License. 6c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * You may obtain a copy of the License at 7c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * 8c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 9c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * 10c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Unless required by applicable law or agreed to in writing, software 11c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 12c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * See the License for the specific language governing permissions and 14c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * limitations under the License. 15c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson */ 16c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson 17c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilsonpackage dalvik.system; 18c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson 19c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson/** 20c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Utility methods for logging to {@code DalvikHandlers}. 21c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * 22c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * @hide 23c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson */ 24c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilsonpublic final class DalvikLogging { 25c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson private DalvikLogging() {} 26c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson 27c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson /** 28c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Returns the short logger tag (up to 23 chars) for the given logger name. 29c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * Traditionally loggers are named by fully-qualified Java classes; this 30c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson * method attempts to return a concise identifying part of such names. 31c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson */ 32c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson public static String loggerNameToTag(String loggerName) { 33c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson // Anonymous logger. 34c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson if (loggerName == null) { 35c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson return "null"; 36c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson } 37c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson 38c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson int length = loggerName.length(); 39c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson if (length <= 23) { 40c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson return loggerName; 41c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson } 42c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson 43c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson int lastPeriod = loggerName.lastIndexOf("."); 44c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson return length - (lastPeriod + 1) <= 23 45c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson ? loggerName.substring(lastPeriod + 1) 46c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson : loggerName.substring(loggerName.length() - 23); 47c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson } 48c99250a4d619670f2a9410df121eff04fdc9e87cJesse Wilson} 49