Debug Util : Log « Core Class « Android






Debug Util

    
//package org.anddev.andengine.util;

import android.util.Log;

/**
 * (c) 2010 Nicolas Gramlich 
 * (c) 2011 Zynga Inc.
 * 
 * @author Nicolas Gramlich
 * @since 13:29:16 - 08.03.2010
 */
class Debug {
  //          
  // Constants
  //          

  //          
  // Fields
  //          

  private static String sDebugTag = "DEBUGTAG";
  private static DebugLevel sDebugLevel = DebugLevel.VERBOSE;

  //          
  // Constructors
  //          

  //          
  // Getter & Setter
  //          

  public static String getDebugTag() {
    return Debug.sDebugTag;
  }

  public static void setDebugTag(final String pDebugTag) {
    Debug.sDebugTag = pDebugTag;
  }

  public static DebugLevel getDebugLevel() {
    return Debug.sDebugLevel;
  }

  public static void setDebugLevel(final DebugLevel pDebugLevel) {
    if(pDebugLevel == null) {
      throw new IllegalArgumentException("pDebugLevel must not be null!");
    }
    Debug.sDebugLevel = pDebugLevel;
  }

  //          
  // Methods for/from SuperClass/Interfaces
  //          

  //          
  // Methods
  //          

  public static void v(final String pMessage) {
    Debug.v(pMessage, null);
  }

  public static void v(final String pMessage, final Throwable pThrowable) {
    if(sDebugLevel.isSameOrLessThan(DebugLevel.VERBOSE)) {
      Log.v(sDebugTag, pMessage, pThrowable);
    }
  }

  public static void d(final String pMessage) {
    Debug.d(pMessage, null);
  }

  public static void d(final String pMessage, final Throwable pThrowable) {
    if(sDebugLevel.isSameOrLessThan(DebugLevel.DEBUG)) {
      Log.d(sDebugTag, pMessage, pThrowable);
    }
  }

  public static void i(final String pMessage) {
    Debug.i(pMessage, null);
  }

  public static void i(final String pMessage, final Throwable pThrowable) {
    if(sDebugLevel.isSameOrLessThan(DebugLevel.INFO)) {
      Log.i(sDebugTag, pMessage, pThrowable);
    }
  }

  public static void w(final String pMessage) {
    Debug.w(pMessage, null);
  }

  public static void w(final Throwable pThrowable) {
    Debug.w("", pThrowable);
  }

  public static void w(final String pMessage, final Throwable pThrowable) {
    if(sDebugLevel.isSameOrLessThan(DebugLevel.WARNING)) {
      if(pThrowable == null) {
        Log.w(sDebugTag, pMessage, new Exception());
      } else {
        Log.w(sDebugTag, pMessage, pThrowable);
      }
    }
  }

  public static void e(final String pMessage) {
    Debug.e(pMessage, null);
  }

  public static void e(final Throwable pThrowable) {
    Debug.e(sDebugTag, pThrowable);
  }

  public static void e(final String pMessage, final Throwable pThrowable) {
    if(sDebugLevel.isSameOrLessThan(DebugLevel.ERROR)) {
      if(pThrowable == null) {
        Log.e(sDebugTag, pMessage, new Exception());
      } else {
        Log.e(sDebugTag, pMessage, pThrowable);
      }
    }
  }

  //          
  // Inner and Anonymous Classes
  //          

  public static enum DebugLevel implements Comparable<DebugLevel> {
    NONE,
    ERROR,
    WARNING,
    INFO,
    DEBUG,
    VERBOSE;

    public static DebugLevel ALL = DebugLevel.VERBOSE;

    private boolean isSameOrLessThan(final DebugLevel pDebugLevel) {
      return this.compareTo(pDebugLevel) >= 0;
    }
  }
}

   
    
    
    
  








Related examples in the same category

1.Use log
2.Log Utility
3.Log events
4.Log your action
5.Write an activity that looks like a pop-up dialog with a custom theme using a different text color.
6.Responsible for delegating calls to the Android logging system.
7.Dynamically defined), space efficient event logging to help instrument code for large scale stability and performance monitoring.
8.Write Exception Stack to Log
9.Logger and Logger Listener
10.Log Exception trace
11.Log a list of objects
12.Utility log tool