1、封裝Log類:LogUtils
/**
* Copyright(C): 2015 EEBBK
* Project Name: LogTest
* Package Name: com.xtc.util
* Filename: LogUtils.java
* Author(S): Rjdeng
* Created Date: 2015-10-22 上午10:08:00
* Version: V1.00
* Description: LogUtils
*/
package com.xtc.util;
import android.text.TextUtils;
import android.util.Log;
public class LogUtils
{
private static final String CUSTOM_TAG_PREFIX = "Rjdeng";
private static final boolean Vlog = false;
private static final boolean Dlog = true;
private static final boolean Ilog = true;
private static final boolean Wlog = true;
private static final boolean Elog = true;
private static String generateTag( StackTraceElement caller )
{
String tag = "%s.%s(Line:%d)";
String callerClassName = caller.getClassName( );
callerClassName = callerClassName.substring( callerClassName.lastIndexOf( '.' ) + 1 );
tag = String.format( tag, callerClassName, caller.getMethodName( ), caller.getLineNumber( ) );
tag = TextUtils.isEmpty( CUSTOM_TAG_PREFIX ) ? tag : CUSTOM_TAG_PREFIX + ":" + tag;
return tag;
}
public static void v( String msg )
{
if ( !Vlog )
{
return;
}
StackTraceElement caller = Thread.currentThread( ).getStackTrace( )[3];
String tag = generateTag( caller );
Log.v( tag, msg );
}
public static void d( String msg )
{
if ( !Dlog )
{
return;
}
StackTraceElement caller = Thread.currentThread( ).getStackTrace( )[3];
String tag = generateTag( caller );
Log.d( tag, msg );
}
public static void i( String msg )
{
if ( !Ilog )
{
return;
}
StackTraceElement caller = Thread.currentThread( ).getStackTrace( )[3];
String tag = generateTag( caller );
Log.i( tag, msg );
}
public static void w( String msg )
{
if ( !Wlog )
{
return;
}
StackTraceElement caller = Thread.currentThread( ).getStackTrace( )[3];
String tag = generateTag( caller );
Log.w( tag, msg );
}
public static void e( String msg )
{
if ( !Elog )
{
return;
}
StackTraceElement caller = Thread.currentThread( ).getStackTrace( )[3];
String tag = generateTag( caller );
Log.e( tag, msg );
}
}
2、調用Log封裝類方法
/**
* Copyright(C): 2015 EEBBK
* Project Name: LogTest
* Package Name: com.xtc.activity
* Filename: LogActivit.java
* Author(S): Rjdeng
* Created Date: 2015-10-22 上午8:52:06
* Version: V1.00
* Description:
*/
package com.xtc.activity;
import android.app.Activity;
import android.os.Bundle;
import com.xtc.logtest.R;
import com.xtc.util.LogUtils;
public class LogActivit extends Activity
{
@Override
protected void onCreate( Bundle savedInstanceState )
{
super.onCreate( savedInstanceState );
super.setContentView( R.layout.main );
LogUtils.v( "VERBOSE" );
LogUtils.d( "DEBUG" );
LogUtils.i( "INFO" );
LogUtils.w( "WARN" );
LogUtils.e( "ERROR" );
}
@Override
protected void onResume( )
{
super.onResume( );
LogUtils.v( "VERBOSE" );
LogUtils.d( "DEBUG" );
LogUtils.i( "INFO" );
LogUtils.w( "WARN" );
LogUtils.e( "ERROR" );
}
@Override
protected void onPause( )
{
super.onPause( );
LogUtils.v( "VERBOSE" );
LogUtils.d( "DEBUG" );
LogUtils.i( "INFO" );
LogUtils.w( "WARN" );
LogUtils.e( "ERROR" );
}
@Override
protected void onStop( )
{
super.onStop( );
LogUtils.v( "VERBOSE" );
LogUtils.d( "DEBUG" );
LogUtils.i( "INFO" );
LogUtils.w( "WARN" );
LogUtils.e( "ERROR" );
}
@Override
protected void onDestroy( )
{
super.onDestroy( );
LogUtils.v( "VERBOSE" );
LogUtils.d( "DEBUG" );
LogUtils.i( "INFO" );
LogUtils.w( "WARN" );
LogUtils.e( "ERROR" );
}
}
3、輸出效果: