常用的日志管理

using UnityEngine;

namespace LogPrint
{

public class LogSystem
{
    /// <summary>
    /// 暂时只有log,warning,error三种
    /// </summary>
    public enum LogType
    {
        Log,
        Warnng,
        Error,
    }

    /// <summary>
    /// 是否打印日志,false为不打印,true 打印
    /// </summary>
    public static bool isShowLog = false;

    /// <summary>
    /// 输出日志级别,默认10级,低于这个级别的日志不显示 Ps:为了过滤普通的日志信息,修改到10以上就隐藏默认日志
    /// </summary>
    public static int miniLevel = 10;

    //默认的日志级别
    const int defaultLevel = 10;

    /// <summary>
    /// 显示日志
    /// </summary>
    /// <param name="log"></param>
    /// <param name="logcolor"></param>
    /// <param name="logLevel">日志级别,将级别修改到10以上,然后修改最低显示日志,就可以单独显示个别日志</param>
    public static void Log(string log, LogColor logcolor = LogColor.None, int logLevel = defaultLevel)
    {

        PrintLog(log, LogType.Log, logcolor, logLevel);
    }

    /// <summary>
    /// 显示日志
    /// </summary>
    /// <param name="log">内容</param>
    /// <param name="logcolor">颜色</param>
    public static void Log(int log, LogColor logcolor = LogColor.None, int logLevel = defaultLevel)
    {

        PrintLog(log.ToString(), LogType.Log, logcolor, logLevel);
    }

    /// <summary>
    /// 显示警告
    /// </summary>
    /// <param name="log"></param>
    public static void LogWarning(string log)
    {
        PrintLog(log, LogType.Warnng);
    }

    /// <summary>
    /// 显示错误
    /// </summary>
    /// <param name="log"></param>
    public static void LogError(string log)
    {
        PrintLog(log, LogType.Error);
    }

    private static void PrintLog(string log, LogType type, LogColor logcolor = LogColor.None, int logLevel = defaultLevel)
    {
        //如果想要显示个别日志,修改一下最低的日志级别即可
        if (!isShowLog || logLevel < miniLevel)
        {
            return;
        }
        string strmsg = "";
        switch (logcolor)
        {
            case LogColor.None:
                strmsg = log;
                break;
            case LogColor.red:
                strmsg = string.Format("<color=red>{0}</color>", log);
                break;
            case LogColor.yellow:
                strmsg = string.Format("<color=yellow>{0}</color>", log);
                break;
            case LogColor.black:
                strmsg = string.Format("<color=black>{0}</color>", log);
                break;
            case LogColor.white:
                strmsg = string.Format("<color=white>{0}</color>", log);
                break;
            case LogColor.blue:
                strmsg = string.Format("<color=blue>{0}</color>", log);
                break;
            case LogColor.green:
                strmsg = string.Format("<color=green>{0}</color>", log);
                break;
            case LogColor.grey:
                strmsg = string.Format("<color=grey>{0}</color>", log);
                break;
            default:
                break;
        }
        switch (type)
        {
            case LogType.Log:
                Debug.Log(strmsg);
                break;
            case LogType.Warnng:
                Debug.LogWarning(log);
                break;
            case LogType.Error:
                Debug.LogError(log);
                break;
        }
    }
}

/// <summary>
/// 日志颜色,暂时只有默认的几种颜色,不支持可配置
/// </summary>
public enum LogColor
{
    None,//不设置
    red,//红色
    yellow,//黄色
    black,//黑色
    white,//白色
    blue,//蓝色
    green,//绿色
    grey,//灰色
}

}

//-------------最好将其封装成dll引入工程中,这样编辑器下双击就可跳转------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值