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