Unity Debug.Log扩展,屏蔽所有log

作者分享了一种方法,如何在Unity中创建一个简单的Debug类扩展,通过宏定义区分编辑器环境和线上环境,实现在正式发布时屏蔽所有Log。无需修改既有代码,仅需在上线前调整一个开关。

一直想写一个简单的控制Log的类,但是Debug.Log又用习惯了,实在不想换,而且一些项目已经做完了也不想改里面的代码。

就算可以全局搜索替换,我也不大愿意,于是就想扩展一下原来的Debug,主要用于正式环境屏蔽所有的log(好像Unity里有个选项钩上导出的包就不会log,想直接用的自己搜搜吧),这不自己写了一个,在宏定义里写个判断条件,Editor下才输出log,如果有其他需要可以自己加哈,懒人直接用ture和false在上线前切换一下也行:

using System;

public class Debug : UnityEngine.Debug
{

#if UNITY_EDITOR //&& false

    public static new Action<object> Log = UnityEngine.Debug.Log;

    public static new Action<object> LogError = UnityEngine.Debug.LogError;

#else

    public static void Log(string str) { }

    public static void LogError(string str) { }

#endif

}

直接继承UnityEngine.Debug,然后如果是编辑器下指定Log委托直接调用UnityEngine.Debug.Log,LogError也一样,LogWarning有点问题,实在是懒得改(毕竟我也不用啊)。

这样用法还和原来的一样,原来项目里的Debug.Log也都直接不用改了,还能在上线前屏蔽所有的log,完美。


蠢了蠢了,都继承了UnityEngine.Debug,上面两行都应该不要,应该直接这样:

public class Debug : UnityEngine.Debug
{
#if false
    public static void Log(string str) { }
#endif
}

上线的时候把false改成ture就行~

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值