package net.micode.notes.tool;

import android.util.Log;

/**
 * 日志工具类
 * 提供统一的日志记录方法，方便调试和错误追踪
 * 所有日志都会自动添加 "Notes_" 前缀
 */
public class LogUtils {
    /** 日志标签前缀 */
    private static final String TAG_PREFIX = "Notes_";
    
    /** 是否开启调试模式 */
    private static final boolean DEBUG = true;

    /**
     * 记录调试级别日志
     * 仅在 DEBUG 为 true 时输出
     * @param tag 日志标签
     * @param message 日志消息
     */
    public static void d(String tag, String message) {
        if (DEBUG) {
            Log.d(TAG_PREFIX + tag, message);
        }
    }

    /**
     * 记录错误级别日志（不带异常信息）
     * 始终输出，不受 DEBUG 控制
     * @param tag 日志标签
     * @param message 日志消息
     */
    public static void e(String tag, String message) {
        Log.e(TAG_PREFIX + tag, message);
    }

    /**
     * 记录错误级别日志（带异常信息）
     * 始终输出，不受 DEBUG 控制
     * @param tag 日志标签
     * @param message 日志消息
     * @param e 异常对象
     */
    public static void e(String tag, String message, Throwable e) {
        Log.e(TAG_PREFIX + tag, message, e);
    }

    /**
     * 记录信息级别日志
     * 仅在 DEBUG 为 true 时输出
     * @param tag 日志标签
     * @param message 日志消息
     */
    public static void i(String tag, String message) {
        if (DEBUG) {
            Log.i(TAG_PREFIX + tag, message);
        }
    }

    /**
     * 记录警告级别日志
     * 仅在 DEBUG 为 true 时输出
     * @param tag 日志标签
     * @param message 日志消息
     */
    public static void w(String tag, String message) {
        if (DEBUG) {
            Log.w(TAG_PREFIX + tag, message);
        }
    }
} 