diff -r 3651228bf160 -r ec0c60b581ed src/com/google/android/apps/iosched/util/LogUtils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/google/android/apps/iosched/util/LogUtils.java Tue Oct 09 01:08:40 2012 +0200 @@ -0,0 +1,98 @@ +/* + * Copyright 2012 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.android.apps.iosched.util; + +import com.beem.project.beem.BuildConfig; + +import android.util.Log; + +/** + * Helper methods that make logging more consistent throughout the app. + */ +public class LogUtils { + private static final String LOG_PREFIX = "Beem"; + private static final int LOG_PREFIX_LENGTH = LOG_PREFIX.length(); + private static final int MAX_LOG_TAG_LENGTH = 23; + + public static String makeLogTag(String str) { + if (str.length() > MAX_LOG_TAG_LENGTH - LOG_PREFIX_LENGTH) { + return LOG_PREFIX + str.substring(0, MAX_LOG_TAG_LENGTH - LOG_PREFIX_LENGTH - 1); + } + + return LOG_PREFIX + str; + } + + /** + * WARNING: Don't use this when obfuscating class names with Proguard! + */ + public static String makeLogTag(Class cls) { + return makeLogTag(cls.getSimpleName()); + } + + public static void LOGD(final String tag, String message) { + if (Log.isLoggable(tag, Log.DEBUG)) { + Log.d(tag, message); + } + } + + public static void LOGD(final String tag, String message, Throwable cause) { + if (Log.isLoggable(tag, Log.DEBUG)) { + Log.d(tag, message, cause); + } + } + + public static void LOGV(final String tag, String message) { + //noinspection PointlessBooleanExpression,ConstantConditions + if (BuildConfig.DEBUG && Log.isLoggable(tag, Log.VERBOSE)) { + Log.v(tag, message); + } + } + + public static void LOGV(final String tag, String message, Throwable cause) { + //noinspection PointlessBooleanExpression,ConstantConditions + if (BuildConfig.DEBUG && Log.isLoggable(tag, Log.VERBOSE)) { + Log.v(tag, message, cause); + } + } + + public static void LOGI(final String tag, String message) { + Log.i(tag, message); + } + + public static void LOGI(final String tag, String message, Throwable cause) { + Log.i(tag, message, cause); + } + + public static void LOGW(final String tag, String message) { + Log.w(tag, message); + } + + public static void LOGW(final String tag, String message, Throwable cause) { + Log.w(tag, message, cause); + } + + public static void LOGE(final String tag, String message) { + Log.e(tag, message); + } + + public static void LOGE(final String tag, String message, Throwable cause) { + Log.e(tag, message, cause); + } + + private LogUtils() { + } +}