美文网首页
Log模块使用

Log模块使用

作者: Qkuang | 来源:发表于2019-12-21 16:39 被阅读0次

IFramework所有模块总目录

简介

Log模块是 IF(IFramework简称)框架最简单,最基础的模块。它封装了各种log的输出接口。

基础使用

测试源码:

using UnityEngine;
using IFramework;   // 引入 IF框架的命名空间
// ILog 接口来自 IFramework 空间
public class TestLog : MonoBehaviour,ILog
{
    public void Say()
    {
        string world = "Hello  World";
        Log.L(world);           //Log类来自 IFramewosrk空间   
        world.Log();            // string的 Log()扩展方法 来自 IFramework空间
        this.Log(world);        //ILog 接口的Log()扩展方法 需要实现:ILog接口
            //信息:Log、警告:Warn、错误:Err
        Log.W(world);           
        Log.E(world);
        Log.L("the message from IFramework");
        Debug.Log("此消息来自Unity");
    }
    private void Awake()
    {
        Say();
    }
}

运行结果:


image.png

该模块基础使用比较简单。

扩展使用

image.png

上图是IF 项目工程。其中:

  1. Example 文件夹 中 包含各个模块的 使用 案例。
  2. IFramework 文件夹 中包含 IF模块的主要源码。
  3. 在路径:IFramework/0.1Core/0.1Plugins/ 下有一个 IFramework 的Dll文件。该库文件中包含 Net Framework 下开发的 各种接口。它和unity无关,因此将不局限于 unity 中使用,亦可以在 控制台应用程序中被使用。

在unity中扩展 Log 代码

using UnityEngine;
using IFramework;   // 引入 IF框架的命名空间
// ILog 接口来自 IFramework 空间
public class TestLog : MonoBehaviour
{
    private void Awake()
    {
        string world = "Hello  World";
        Log.loger = new UnityLog();
        Log.loger.Log(IFramework.LogType.Error,world);
        Debug.Log(world);

    }
}

public class UnityLog : ILoger
{
    public void Log(IFramework.LogType logType , object message, params object[] paras)
    {
        switch (logType)
        {
            case IFramework.LogType.Error:
                Debug.LogError(message);
                break;
            case IFramework.LogType.Warning:
                Debug.LogWarning(message);
                break;
            case IFramework.LogType.Default:
                Debug.Log(message);
                break;
        }
    }


    public void LogFormat(IFramework.LogType logType , string format, object message, params object[] paras)
    {
        switch (logType)
        {
            case IFramework.LogType.Error:
                Debug.LogErrorFormat(message as Object, format, paras);
                break;
            case IFramework.LogType.Warning:
                Debug.LogWarningFormat(message as Object, format, paras);
                break;
            case IFramework.LogType.Default:
                Debug.LogFormat(message as Object, format, paras);
                break;
        }
    }
}

说明:在 上面代码中,我门自定义了一个 UnityLog 类,并在unity中实现了 ILoger 接口的两个方法。

代码很简单,其本质 就是在 Debug之上 再封装了一层。

作用:在整个IF框架中,log 的输出 不是 用“Debug”,而是用的 IFramework.Log 。虽然,它在 unity中实现是通过:Debug 实现。

若换做控制台应用程序或者Windows应用程序,其实现接口的方式 就有可能是其他。比如Console.WriteLine()

结尾

以上内容是 作者个人的理解,如有错误,欢迎指出。
顺便给出OnClick大佬自己 写的文档地址:001Log模块介绍
如果对 IF框架有其他看法,也欢迎大家 进群交流。

相关文章

  • Log模块使用

    IFramework所有模块总目录 简介 Log模块是 IF(IFramework简称)框架最简单,最基础的模块。...

  • NodeJS

    使用 colors 模块 console.log('红色'.red); console.log('绿色'.gree...

  • (十二) Logging

    Logging Scrapy提供了log功能。您可以通过 scrapy.log 模块使用。当前底层实现使用了 Tw...

  • golang 日志模块(log)

    log 日志 log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法 func New 创建lo...

  • 日志输出之 log4js

    简介 log4js是javascript的log框架,在Nodejs中使用express框架并没有自带的日志模块,...

  • 实现单例模式的方式

    在使用logging这个模块进行单一log文件记录的时候碰到了log重复的问题,原因在于反复的调用log对象可能会...

  • log模块

    传1个字符串就好 用go习惯了,今天遇到了一个bug,怎么看怎么觉得没毛病。 不能传不定参数,只能传一个字符串啊。...

  • Logging模块-logger记录器

    Logging python 语言中日志模块 一 Logging 构成 二 Logger -使用之前必须创建Log...

  • Android权限警告(not in privapp-permi

    一.发生错误时候的现象和log打印1.现象 模块使用了Settings.Global之后,单编模块push到手机里...

  • redo log和bin log

    在 MySQL 数据库中,自带一个日志模块 bin log(归档日志),这个日志模块所有的存储引擎都会使用,我们常...

网友评论

      本文标题:Log模块使用

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