美文网首页
【日志】 Debug改造-格式重写

【日志】 Debug改造-格式重写

作者: 技术宅_志远 | 来源:发表于2018-11-07 10:06 被阅读0次

0x001 需求

很多框架都包含了自己的日志功能,如果我们自己去写框架难免会用到这个功能,如写出Log文件,进行跨平台调试。

0x002 分析

根据上述需求,做出如下分析

经过测试,使用扩展方法去扩展Debug类无效,原因是Debug类是只读属性的。
那么我们只有去重写或者利用命名空间让编译器选择我们的Debug类,从而实现替换unityDebug的效果。

0x003 实现步骤

1.创建Debug类

不需要继承任何类,设置为静态类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class Debug  {

}
1.查看UnityEngine.Debug类

查看类中方法及方法的参数,并在我们的Debug类中进行实现。


unity

我们在自己的类中实现,主要实现这几个就可以了,这里我就只实现单参数的=-=

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class Debug  {
    public static void Log(object message)
    {
        UnityEngine.Debug.Log(message);
    }
    public static void LogWarning(object message)
    {
        UnityEngine.Debug.LogWarning(message);
    }
    public static void LogError(object message)
    {
        UnityEngine.Debug.LogError(message);
    }
}

我们当然可以去做一些前缀之类的= =

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class Debug  {
    public static void Log(object message)
    {
        
        UnityEngine.Debug.Log("zhiyuan1:"+message);
    }
    public static void LogWarning(object message)
    {
        UnityEngine.Debug.LogWarning("zhiyuan2:" + message);
    }
    public static void LogError(object message)
    {
        UnityEngine.Debug.LogError("zhiyuan3:" + message);
    }
}

0x004 实现效果

随便新建一个脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour {

    // Use this for initialization
    void Start () {
        Debug.Log("Log");
        Debug.LogWarning("LogWarning");
        Debug.LogError("LogError");
    }
}

测试

相关文章

网友评论

      本文标题:【日志】 Debug改造-格式重写

      本文链接:https://www.haomeiwen.com/subject/pmjmxqtx.html