Unity 工具类 之 简单的日志打印封装 LogWrapper 的实现
目录
Unity 工具类 之 简单的日志打印封装 LogWrapper 的实现
一、简单介绍
Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。
日志打印封装,方便日志的打印关闭开启,以及添加日志标签。
二、实现方法
1、静态类重新实现相关日志打印,并设置标志,打开和关闭日志打印;
三、注意事项
1、如果需要双击跳转到对应打印地方,请把日志打印封装 LogWrapper 类打包成 dll
四、效果预览
五、实现步骤
1、打开Unity,新建一个工程,如下图
2、在工程中新建脚本,LogWrapper 实现日志打印简单封装,Test_LogWrapper 测试日志封装类,如下图
3、Test_LogWrapper 添加到场景中,运行场景,即可看到效果,如下图
六、关键代码
1、LogWrapper
using UnityEngine;
/// <summary>
/// log 标签(根据需要扩展或者删减)
/// </summary>
public enum LogLabel{
NONE, // 无
AUDIO, // 音频
UI, // UI
}
/// <summary>
/// 日志封装
/// </summary>
public class LogWrapper
{
private static bool isLogDebug = true;
private static bool isLogWarning = true;
private static bool isLogError = true;
/// <summary>
/// LogDebug 日志打印
/// </summary>
/// <param name="content">日志内容</param>
/// <param name="logLabel">日志标签</param>
public static void LogDebug(string content, LogLabel logLabel = LogLabel.NONE) {
if (isLogDebug == false) return;
Debug.Log((logLabel == LogLabel.NONE ? " " : logLabel.ToString()+" " )+ content);
}
/// <summary>
/// LogWarning 日志打印
/// </summary>
/// <param name="content">日志内容</param>
/// <param name="logLabel">日志标签</param>
public static void LogWarning(string content, LogLabel logLabel = LogLabel.NONE)
{
if (isLogWarning == false) return;
Debug.LogWarning((logLabel == LogLabel.NONE ? " " : logLabel.ToString() + " ") + content);
}
/// <summary>
/// LogWarning 日志打印
/// </summary>
/// <param name="content">日志内容</param>
/// <param name="logLabel">日志标签</param>
public static void LogError(string content, LogLabel logLabel = LogLabel.NONE)
{
if (isLogError == false) return;
Debug.LogError((logLabel == LogLabel.NONE ? " " : logLabel.ToString() + " ") + content);
}
/// <summary>
/// 关闭日志打印
/// </summary>
public static void CloseLog() {
isLogDebug = false;
isLogWarning = false;
isLogError = false;
}
/// <summary>
/// 开启日志打印
/// </summary>
public static void OpenLog()
{
isLogDebug = true;
isLogWarning = true;
isLogError = true;
}
/// <summary>
/// 设置 isLogDebug 打印是否开启
/// </summary>
/// <param name="_isLogDebug"></param>
public static void SetIsLogDebugPrint(bool _isLogDebug) {
isLogDebug = _isLogDebug;
}
/// <summary>
/// 设置 isLogWarning 打印是否开启
/// </summary>
/// <param name="_isLogWarning"></param>
public static void SetIsLogWarningPrint(bool _isLogWarning)
{
isLogWarning = _isLogWarning;
}
/// <summary>
/// 设置 isLogError 打印是否开启
/// </summary>
/// <param name="_isLogError"></param>
public static void SetIsLogErrorPrint(bool _isLogError)
{
isLogError = _isLogError;
}
}
2、Test_LogWrapper
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test_LogWrapper : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
LogWrapper.LogDebug("logDebug 1", LogLabel.AUDIO);
LogWrapper.LogWarning("LogWarning 1");
LogWrapper.LogError("LogError 1", LogLabel.UI);
LogWrapper.LogDebug("日志打印关闭 2");
LogWrapper.CloseLog();
LogWrapper.LogDebug("logDebug 2", LogLabel.AUDIO);
LogWrapper.LogWarning("LogWarning 2");
LogWrapper.LogError("LogError 2", LogLabel.UI);
LogWrapper.OpenLog();
LogWrapper.LogDebug("日志打印开启 3");
LogWrapper.LogDebug("logDebug 3", LogLabel.AUDIO);
LogWrapper.LogWarning("LogWarning 3");
LogWrapper.LogError("LogError 3", LogLabel.UI);
}
}