问题思路:
在使用Unity开发项目时,我们可以在编辑器模式下看到日志的输出,但是打包后的软件,日志则需要到C:\Users\Administrator\AppData\LocalLow路径下方查找,且以txt的形式显示,查找问题时并不方便和直观,虽然Unity打包时有勾选日志打印选项,但是也会因此重新打包多次,为了更方便、更高效的显示日志堆栈信息,做了这个小工具。
效果演示:
C#代码:
该代码主要实现Log面板的显示隐藏的控制(因为做虚拟仿真业务,所以预留了手柄注册事件)、清空日志、日志及堆栈的信息处理和颜色标记。
using System;
using System.Diagnostics;
using UnityEditor.VersionControl;
using UnityEngine;
using UnityEngine.UI;
namespace TS.Tools
{
public class LogShow : MonoBehaviour
{
#region LOG控制管理
private int tKeyPressCount = 0;
private float lastTKeyPressTime = 0f;
private float timeThreshold = 1.0f; //设置两次按键的时间阈值
private bool isShow = true;
//private void Start()
//{
// // XR手柄事件注册
// XRCenterDeviceInput.Instance.handRight.EventHandler_SecondButton_Click += HandRight_EventHandler_SecondButton_Click;
//}
//private void HandRight_EventHandler_SecondButton_Click(object sender, XREventArgs e)
//{
// // XR情况下,右手柄B键
// KeyCodeCallBack(ExcEvent);
//}
void Update()
{
// PC模式 用户连续按下对应按键 控制LOG面板
if (Input.GetKeyDown(KeyCode.T)) ExcEvent();
}
void ExcEvent()
{
KeyCodeCallBack(delegate
{
if (isShow)
{
isShow = false;
LogItm.Se