剪式
总览
本文重点介绍如何实现具有以下功能的自定义调试记录器:
- 可以完全关闭/打开日志
- 可以关闭/打开日志替代
- 跳到日志堆栈的最外面
- 快速使用富文本功能
关于Unity的Debug.Log有两个主要问题:
- 表现不佳
- 没有很好的开关来打开/关闭日志
private bool m_isDebug = false;
private void DebugLog(string log)
{
if (m_isDebug)
{
Debug.Log(log);
}
}
但这会带来另一个麻烦的问题:每次双击日志时,都会跳入该功能。 然后,您需要通过查找堆栈来进行追溯。 下面提供了两种解决此问题的解决方案。
Solution I:Scripting Define Symbol
使用空函数创建Debug Class填充,并使用RELEASE Define进行阻止。
#if RELEASE
using UnityEngine;
public static class Debug
{
public static void Log( object message )
{
}
public static void Log( object message, UnityEngine.Object context )
{
}
public static void LogError( object message )
{
}
public static void LogError( object message, UnityEngine.Object context )
{
}
public static void LogException( System.Exception exception )
{
}
public static void LogException( System.Exception exception, UnityEngine.Object context )
{
}
public static void LogWarning( object message )
{
}
public static void LogWarning( object message, UnityEngine.Object context )
{
}
}
#endif
将RELEASE定义添加到“构建设置”中的“脚本定义符号”列中
