美文网首页
UGF之LogHelper

UGF之LogHelper

作者: APP4x | 来源:发表于2021-02-17 14:19 被阅读0次

    VersionHelper是啥呢?
    先看看具体的函数长啥样:

    其实跟之前说的VersionHelper差不多
    里面就干了几件事:
    1.反射得到logHelper的类型
    2.创建logHelper
    3.设置当前的Version到 GameFramework 里

    框架里只做了一个简单的LogHelper,也就是:DefaultLogHelper
    里面做的很简单,根据不同的 GameFrameworkLogLevel 和 message,调用对应级别的UnityLog
    如图所示:


    那么为啥能调用到这个log方法呢?
    其实都封装好了,在dll里面,详细解释一下,怎么设计日志的框架

    1.首先,定义了 GameFrameworkLogLevel 日志的级别
    分为:调试、信息警告、错误、严重错误

    问题1:这个有必要吗?平时开发的时候我都写的Debug.Log XXX啊
    答案:还是有点必要的,日志大概会分以下几种情况:
    a.调试功能用Debug;
    b.输出信息(比如连接上了服务器,输出当前的网络情况、延迟信息、服务器链接地址等等)这时候用Info;
    c.错误的时候输出Error,比如自己判断为null等等;
    d.严重错误的时候输出为Fatal,这代表会导致游戏崩溃的严重bug,框架会检测如果有这种错误的时候,自己会重启游戏或者重启整个框架

    2.定义 ILogHelper 抽象出日志输出的方法,等到具体项目自定义实现接口
    就比如上面的 DefaultLogHelper:ILogHelper

    3.定义 GameFrameworkLog,提供统一的日志输出接口
    这里面定义了所有日志输出接口,然后 LogHelper里面的 Log,里面的level 参数根据不同的名称 传不同的参数,这样就传递到了自己实现的接口里面了
    如图所示:


    还需要做什么呢?
    这里只是实现了日志的基础框架,我们需要弄一个 NBLogHelper :ILogHelper
    里面需要包括以下功能:
    1.写入本地功能【日志持久性】
    2.上传服务器功能【日志记录】
    3.一键开启/关闭日志功能(其实已经实现了,我们只需控制DEBUG这个编译选项)

    相关文章

      网友评论

          本文标题:UGF之LogHelper

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