Android Log類封裝

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 );

        // 這裏可以把錯誤日誌保存到SD卡,這裏不做處理了
        // interface
    }
}

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 )
    {
        // TODO Auto-generated method stub
        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( )
    {
        // TODO Auto-generated method stub
        super.onResume( );
        LogUtils.v( "VERBOSE" );
        LogUtils.d( "DEBUG" );
        LogUtils.i( "INFO" );
        LogUtils.w( "WARN" );
        LogUtils.e( "ERROR" );
    }

    @Override
    protected void onPause( )
    {
        // TODO Auto-generated method stub
        super.onPause( );
        LogUtils.v( "VERBOSE" );
        LogUtils.d( "DEBUG" );
        LogUtils.i( "INFO" );
        LogUtils.w( "WARN" );
        LogUtils.e( "ERROR" );
    }

    @Override
    protected void onStop( )
    {
        // TODO Auto-generated method stub
        super.onStop( );
        LogUtils.v( "VERBOSE" );
        LogUtils.d( "DEBUG" );
        LogUtils.i( "INFO" );
        LogUtils.w( "WARN" );
        LogUtils.e( "ERROR" );
    }

    @Override
    protected void onDestroy( )
    {
        // TODO Auto-generated method stub
        super.onDestroy( );
        LogUtils.v( "VERBOSE" );
        LogUtils.d( "DEBUG" );
        LogUtils.i( "INFO" );
        LogUtils.w( "WARN" );
        LogUtils.e( "ERROR" );
    }
}

3、輸出效果:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章