Home | History | Annotate | Download | only in util
      1 /*
      2  * Copyright (C) 2006 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.util;
     18 
     19 /**
     20  * @hide
     21  */
     22 public final class Slog {
     23 
     24     private Slog() {
     25     }
     26 
     27     public static int v(String tag, String msg) {
     28         return Log.println_native(Log.LOG_ID_SYSTEM, Log.VERBOSE, tag, msg);
     29     }
     30 
     31     public static int v(String tag, String msg, Throwable tr) {
     32         return Log.println_native(Log.LOG_ID_SYSTEM, Log.VERBOSE, tag,
     33                 msg + '\n' + Log.getStackTraceString(tr));
     34     }
     35 
     36     public static int d(String tag, String msg) {
     37         return Log.println_native(Log.LOG_ID_SYSTEM, Log.DEBUG, tag, msg);
     38     }
     39 
     40     public static int d(String tag, String msg, Throwable tr) {
     41         return Log.println_native(Log.LOG_ID_SYSTEM, Log.DEBUG, tag,
     42                 msg + '\n' + Log.getStackTraceString(tr));
     43     }
     44 
     45     public static int i(String tag, String msg) {
     46         return Log.println_native(Log.LOG_ID_SYSTEM, Log.INFO, tag, msg);
     47     }
     48 
     49     public static int i(String tag, String msg, Throwable tr) {
     50         return Log.println_native(Log.LOG_ID_SYSTEM, Log.INFO, tag,
     51                 msg + '\n' + Log.getStackTraceString(tr));
     52     }
     53 
     54     public static int w(String tag, String msg) {
     55         return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag, msg);
     56     }
     57 
     58     public static int w(String tag, String msg, Throwable tr) {
     59         return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag,
     60                 msg + '\n' + Log.getStackTraceString(tr));
     61     }
     62 
     63     public static int w(String tag, Throwable tr) {
     64         return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag, Log.getStackTraceString(tr));
     65     }
     66 
     67     public static int e(String tag, String msg) {
     68         return Log.println_native(Log.LOG_ID_SYSTEM, Log.ERROR, tag, msg);
     69     }
     70 
     71     public static int e(String tag, String msg, Throwable tr) {
     72         return Log.println_native(Log.LOG_ID_SYSTEM, Log.ERROR, tag,
     73                 msg + '\n' + Log.getStackTraceString(tr));
     74     }
     75 
     76     /**
     77      * Like {@link Log#wtf(String, String)}, but will never cause the caller to crash, and
     78      * will always be handled asynchronously.  Primarily for use by coding running within
     79      * the system process.
     80      */
     81     public static int wtf(String tag, String msg) {
     82         return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, false, true);
     83     }
     84 
     85     /**
     86      * Like {@link #wtf(String, String)}, but does not output anything to the log.
     87      */
     88     public static void wtfQuiet(String tag, String msg) {
     89         Log.wtfQuiet(Log.LOG_ID_SYSTEM, tag, msg, true);
     90     }
     91 
     92     /**
     93      * Like {@link Log#wtfStack(String, String)}, but will never cause the caller to crash, and
     94      * will always be handled asynchronously.  Primarily for use by coding running within
     95      * the system process.
     96      */
     97     public static int wtfStack(String tag, String msg) {
     98         return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, true, true);
     99     }
    100 
    101     /**
    102      * Like {@link Log#wtf(String, Throwable)}, but will never cause the caller to crash,
    103      * and will always be handled asynchronously.  Primarily for use by coding running within
    104      * the system process.
    105      */
    106     public static int wtf(String tag, Throwable tr) {
    107         return Log.wtf(Log.LOG_ID_SYSTEM, tag, tr.getMessage(), tr, false, true);
    108     }
    109 
    110     /**
    111      * Like {@link Log#wtf(String, String, Throwable)}, but will never cause the caller to crash,
    112      * and will always be handled asynchronously.  Primarily for use by coding running within
    113      * the system process.
    114      */
    115     public static int wtf(String tag, String msg, Throwable tr) {
    116         return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, tr, false, true);
    117     }
    118 
    119     public static int println(int priority, String tag, String msg) {
    120         return Log.println_native(Log.LOG_ID_SYSTEM, priority, tag, msg);
    121     }
    122 }
    123 
    124