--- /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() {
+ }
+}