Unity Debug拓展

 

简述

在特殊环境下,Debug不能满足要求,所以,写了一个简单的Debug拓展,留作备份。

用法

在vs中打包成dll文件,放入Unity中即可

详细代码

using System;
using System.Text;
using UnityEngine;

namespace LDll
{
    /// <summary>
    /// Log 的等级,用于控制显示什么级别的日志 
    /// </summary>
    public enum Log
    {
        /// <summary>
        /// 普通打印格式
        /// </summary>
        Normal = 0,
        /// <summary>
        /// 警告打印格式
        /// </summary>
        Warning = 1,
        /// <summary>
        /// 错误信息打印格式 
        /// </summary>
        Error = 2,
    }

    /// <summary>
    /// <para>Unity Debug 扩展类,支持时间、颜色打印 </para>
    /// </summary>
    public class LDebug
    {
        /// <summary>
        /// 显示时间
        /// </summary>
        public static bool ShowTime = true;

        /// <summary>
        /// 是否记录到文件中 
        /// </summary>
        public static bool isRecordToFile = false;

        private static string GetCurrentTime
        {
            get { return DateTime.Now.ToString("[HH:mm:ss]: "); }
        }

        private static string GetDebugFormat()
        {
            StringBuilder str = new StringBuilder();

            if (ShowTime)
            {
                str.Append(DateTime.Now.ToString("[HH:mm:ss]"));
            }
            str.Append(": ");

            return str.ToString();
        }

        /// <summary>
        /// 日志打印
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void Log(string str)
        {
            LogShow(LDll.Log.Normal, "white", str);
        }

        /// <summary>
        /// 日志打印
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void Log(string format, params object[] args)
        {
            LogShow(LDll.Log.Normal, "white", string.Format(format, args));
        }

        /// <summary>
        /// 警告日志显示
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void LogWarning(string str)
        {
            LogShow(LDll.Log.Warning, "yellow", str);
        }

        /// <summary>
        /// 警告日志显示
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogWarning(string format, params object[] args)
        {
            LogShow(LDll.Log.Warning, "yellow", string.Format(format, args));
        }

        /// <summary>
        /// 错误日志显示
        /// </summary>
        /// <param name="str">日志内容</param>
        public static void LogError(string str)
        {
            LogShow(LDll.Log.Error, "red", str);
        }

        /// <summary>
        /// 错误日志显示
        /// </summary>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogError(string format, params object[] args)
        {
            LogShow(LDll.Log.Error, "red", string.Format(format, args));
        }

        /// <summary>
        /// 自定义显示格式
        /// </summary>
        /// <param name="log">日志级别</param>
        /// <param name="color">日志颜色代码,不支持自定义,可去查看Unity支持的富文本颜色代码 </param>
        /// <param name="str">日志内容</param>
        public static void LogCustom(Log log, string color, string str)
        {
            LogShow(log, color, str);
        }

        /// <summary>
        /// 自定义显示格式
        /// </summary>
        /// <param name="log">日志级别</param>
        /// <param name="color">日志颜色代码,不支持自定义,可去查看Unity支持的富文本颜色代码 </param>
        /// <param name="format">内容格式</param>
        /// <param name="args">日志内容</param>
        public static void LogCustom(Log log, string color, string format, params object[] args)
        {
            LogShow(log, color, string.Format(format, args));
        }

        private static void LogShow(Log log, string color, string str)
        {
            string tempstr = string.Format("{0}<color={1}>{2}</color>", GetCurrentTime, color, str);
            switch (log)
            {
                case LDll.Log.Normal:
                    Debug.Log(tempstr);
                    break;
                case LDll.Log.Warning:
                    Debug.LogWarning(tempstr);
                    break;
                case LDll.Log.Error:
                    Debug.LogError(tempstr);
                    break;
            }
        }
    }
}

转载于:https://my.oschina.net/k74CguqsIJE/blog/840676

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值