环境:Unity开发时会有很多的Debug.log输出测试
问题:最后游戏发布的时候,不希望在Produce发布环境也输出大量的日志,官方目前也没有正统的做法。
解决方法1: 重新封装
将Debug.log重新封装,自己添加开关。
using UnityEngine; using System.Collections; public class Debuger { static public bool EnableLog = false; static public void Log(object message) { Log(message,null); } static public void Log(object message, Object context) { if(EnableLog) { Debug.Log(message,context); } } static public void LogError(object message) { LogError(message,null); } static public void LogError(object message, Object context) { if(EnableLog) { Debug.LogError(message,context); } } static public void LogWarning(object message) { LogWarning(message,null); } static public void LogWarning(object message, Object context) { if(EnableLog) { Debug.LogWarning(message,context); } } }
所有调用的地方:
Debug.EnableLog = true Debuger.Log("自己封装的Debuger.log输出");
unity中双击log日志位置,会定位到当前Debuger文件中,而不是写Debuger.log的位置,这不是我们想要的,雨松给了一种办法,将Debuger类做成一个dll,然后把原来的Debugger.cs删除掉,因为做成了dll,所以定位就到了Debugger.log的位置上了。
制作dll方法:
mcs -r:/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll -target:library Debuger.cs
多个CS文件做成dll只需要多个cs文件中间有空格即可。
Dll下载地址:http://pan.baidu.com/s/1eQEV3iE
参考雨松:http://www.xuanyusong.com/archives/2782
还有Unity Asset store 中的Disable Logging看起来也很不错,不过需要花钱,有下载的可以共享下看看效果.
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-08-02 02:48:30