All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cookingfox.logging.adapter.AndroidLoggerAdapter Maven / Gradle / Ivy

package com.cookingfox.logging.adapter;

import com.cookingfox.logging.api.Entry;
import com.cookingfox.logging.api.LoggerAdapter;

/**
 * Log adapter implementation using Android logging utility.
 */
public class AndroidLoggerAdapter implements LoggerAdapter {

    //----------------------------------------------------------------------------------------------
    // PRIVATE CONSTANTS
    //----------------------------------------------------------------------------------------------

    private static final String MESSAGE_EMPTY = "[empty]";

    //----------------------------------------------------------------------------------------------
    // PUBLIC METHODS
    //----------------------------------------------------------------------------------------------

    @Override
    public void debug(Entry entry) {
        android.util.Log.d(entry.getCaller(), getMessage(entry));
    }

    @Override
    public void error(Entry entry) {
        android.util.Log.e(entry.getCaller(), getMessage(entry));
    }

    @Override
    public void info(Entry entry) {
        android.util.Log.i(entry.getCaller(), getMessage(entry));
    }

    @Override
    public void verbose(Entry entry) {
        android.util.Log.v(entry.getCaller(), getMessage(entry));
    }

    @Override
    public void warn(Entry entry) {
        android.util.Log.w(entry.getCaller(), getMessage(entry));
    }

    //----------------------------------------------------------------------------------------------
    // PRIVATE METHODS
    //----------------------------------------------------------------------------------------------

    /**
     * Re-format the log message.
     */
    private String getMessage(Entry entry) {
        String logMessage = entry.getMessage();

        // Android's logcat has some strange behaviour when a log message is empty.
        if (logMessage.isEmpty()) {
            logMessage = MESSAGE_EMPTY;
        }

        return logMessage;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy