【Unity3D游戏开发】之定制Debug.log输出 (八)

环境: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看起来也很不错,不过需要花钱,有下载的可以共享下看看效果.









你可能感兴趣的:(【Unity3D游戏开发】)