1cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen/*
2cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * Copyright (C) 2008 The Android Open Source Project
3cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen *
4cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * Licensed under the Apache License, Version 2.0 (the "License");
5cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * you may not use this file except in compliance with the License.
6cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * You may obtain a copy of the License at
7cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen *
8cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen *      http://www.apache.org/licenses/LICENSE-2.0
9cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen *
10cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * Unless required by applicable law or agreed to in writing, software
11cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * distributed under the License is distributed on an "AS IS" BASIS,
12cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * See the License for the specific language governing permissions and
14cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * limitations under the License.
15cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen */
16cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
17cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen/**
18cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen * package-level logging flag
19cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen */
20cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
21cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassenpackage com.android.deskclock;
22cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
23cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassenimport android.os.Build;
24cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassenimport android.util.Log;
25cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
26cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassenpublic class LogUtils {
27cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
28cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public final static String LOGTAG = "AlarmClock";
29cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public final static boolean DEBUG = "eng".equals(Build.TYPE) || "userdebug".equals(Build.TYPE);
30cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
31cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void v(String message, Object... args) {
32cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.VERBOSE)) {
33cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.v(LOGTAG, args == null ? message : String.format(message, args));
34cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
35cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
36cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
37cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void v(String tag, String message, Object... args) {
38cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.VERBOSE)) {
39cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.v(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
40cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
41cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
42cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
43cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void d(String message, Object... args) {
44cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.DEBUG)) {
45cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.d(LOGTAG, args == null ? message : String.format(message, args));
46cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
47cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
48cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
49cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void d(String tag, String message, Object... args) {
50cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.DEBUG)) {
51cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.d(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
52cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
53cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
54cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
55cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void i(String message, Object... args) {
56cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.INFO)) {
57cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.i(LOGTAG, args == null ? message : String.format(message, args));
58cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
59cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
60cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
61cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void i(String tag, String message, Object... args) {
62cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.INFO)) {
63cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.i(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
64cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
65cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
66cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
67cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void w(String message, Object... args) {
68cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.WARN)) {
69cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.w(LOGTAG, args == null ? message : String.format(message, args));
70cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
71cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
72cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
73cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void w(String tag, String message, Object... args) {
74cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.WARN)) {
75cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.w(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
76cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
77cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
78cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
79cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void e(String message, Object... args) {
80cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ERROR)) {
81cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.e(LOGTAG, args == null ? message : String.format(message, args));
82cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
83cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
84cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
85cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void e(String tag, String message, Object... args) {
86cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ERROR)) {
87cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.e(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
88cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
89cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
90cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
91cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void e(String message, Exception e) {
92cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ERROR)) {
93cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.e(LOGTAG, message, e);
94cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
95cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
96cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
97cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void e(String tag, String message, Exception e) {
98cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ERROR)) {
99cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.e(LOGTAG + "/" + tag, message, e);
100cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
101cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
102cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
103cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void wtf(String message, Object... args) {
104cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ASSERT)) {
105cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.wtf(LOGTAG, args == null ? message : String.format(message, args));
106cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
107cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
108cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen
109cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    public static void wtf(String tag, String message, Object... args) {
110cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        if (DEBUG || Log.isLoggable(LOGTAG, Log.ASSERT)) {
111cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen            Log.wtf(LOGTAG + "/" + tag, args == null ? message : String.format(message, args));
112cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen        }
113cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen    }
114cdbb71b08c13c84af850f4036febc0b90dcfcc7dJustin Klaassen}
115