1、LOG处理

  将所有LOG信息写入到文件,并设置部分LOG显示到屏幕上,总结成以下脚本,将其挂载在摄像机上即可。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text; public class LogHandler : MonoBehaviour
{
//是否打开日志所在文件夹,默认不打开
public bool openLogDir = false;
//最多显示多少条日志到屏幕
public int showLogSize = ;
//设置过滤显示到屏幕的关键字,多个关键字用 | 隔开
public string filterString = "";
//日志存储路径
private string logSavePath;
//存储显示到屏幕上的日志
private List<string> logList;
void Start () {
logList = new List<string>();
logSavePath = Application.persistentDataPath + "/log";
if(openLogDir)
{
Application.OpenURL (Application.persistentDataPath);
}
//将本次日志与上次启动时的日志分离开
using(StreamWriter writer = new StreamWriter(logSavePath, true, Encoding.UTF8))
{
writer.WriteLine("\n\n----------------------------- 日志分隔线 -----------------------------");
writer.WriteLine("----------------------------- "+ System.DateTime.Now +" -----------------------------");
}
//注册日志处理函数
Application.logMessageReceived += HandleLog;
} void HandleLog(string logString, string stackTrace, LogType type)
{
//将所有日志写入到日志文件
using(StreamWriter writer = new StreamWriter(logSavePath, true, Encoding.UTF8))
{
writer.WriteLine(logString + "\n\t\t" + type + ": " + stackTrace.Replace("\n","\n\t\t"));
}
//设置过滤条件,将指定类型、包含某些字符串的日志保存到屏幕日志窗器中
bool show = false;
//置过滤条件:指定类型
if (type == LogType.Error || type == LogType.Exception || type == LogType.Warning)
{
show = true;
}
//置过滤条件:包含指定关键字,多个关键字用 | 隔开
foreach (string str in filterString.Split('|'))
{
if(logString.Contains(str))
{
show = true;
break;
}
}
if(show)
{
logList.Add (logString);
if (logList.Count > showLogSize)
{
logList.RemoveAt();
}
}
} void OnGUI()
{
GUI.color = Color.red;
for (int i = ; i < logList.Count; ++i)
{
GUILayout.Label(logList[i]);
}
}
}

Unity调试相关的更多相关文章

  1. 【转载】DXUT11框架浅析(4)--调试相关

    原文:DXUT11框架浅析(4)--调试相关 DXUT11框架浅析(4)--调试相关 1. D3D8/9和D3D10/11的调试区别 只要安装了DXSDK,有个调试工具DirectX ControlP ...

  2. Unity调试设置

    [Unity调试设置] 1.Mac中,"Unity"->"Preferences...". Windows中,"Edit"->& ...

  3. Eclipse调试相关

    Eclipse调试相关 F5 step into就是单步执行,遇到子函数就进入并且继续单步执行. F6 step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个 ...

  4. unity调试native c/c++ dll

    最近使用xlua,需要添加自定义的c lua库.研究了一下unity调试native c/c++ dll.方法如下: 通过Unity打开VS工程 VS菜单栏[工具]-> [选项] 在选项对话框中 ...

  5. Unity调试外部DLL

    1.更改DLL的.csproj工程配置文件,在里面添加如下属性:<PropertyGroup Condition=" '$(OS)' == 'Unix' ">     ...

  6. Unity调试中心

    渐渐在公司接SDK3个月了,一直没有参加项目的游戏功能编写几乎快忘记Unity了, 看到那些前辈编写游戏到发布游戏,总结了下 每一个游戏应该有一个调试中心, 方便策划 测试更好的了解游戏和测试游戏. ...

  7. node 调试相关

    #0 node 正确的书写方式 为了防止后面出现混乱的各种书写,先来了解一下如何正确书写 node 的名称. 下面使用来自@bitandbang 推文中的图片展示如何正确书写 node 名称. nod ...

  8. Unity UI相关总结

    UIGrid 加载面板时,如果面板中含有大容量的 UIGrid,可能会很卡.我们可以只加载 UIGrid 的前 n 个单元格对象,在显示面板之后,利用协程加载剩余的所有单元格,每帧加载 m 个. 同样 ...

  9. unity开发相关环境(vs、MonoDevelop)windows平台编码问题

    情景描述:最近在做Unity的网络底层,用VS编写源码,MonoDevelop用来Debug,在Flash Builder上搭建的Python做协议生成器,期间有无数次Unity莫名奇妙的的down掉 ...

随机推荐

  1. 【BZOJ-1026】windy数 数位DP

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5230  Solved: 2353[Submit][Sta ...

  2. ResourceManager没启动

    终端看着没问题,然后进入hadoop的logs文件夹下找打yarn-hxsyl-resoucemanager.log,发现里面报错了,是因为fairscheduler需要放在etc/hadoop下,我 ...

  3. Linux中/etc/hosts文件总是被自动修改

    关闭NetworkManager服务即可. 临时关闭: service  NetworkManager stop 永久关闭: chkconfig NetworkManager off 在centos6 ...

  4. UDP打洞、P2P组网方式研究

    catalogue . NAT概念 . P2P概念 . UDP打洞 . P2P DEMO . ZeroNet P2P 1. NAT概念 在STUN协议中,根据内部终端的地址(LocalIP:Local ...

  5. struts2 CVE-2012-0838 S2-007 Remote Code Execution && Hotfix

    catalog . Description . Effected Scope . Exploit Analysis . Principle Of Vulnerability . Patch Fix 1 ...

  6. PHP FastCGI RCE Vul

    catalog . Introduction . nginx文件类型错误解析漏洞 . 针对直接公网开放的Fast-CGI攻击 . 通过FCGI API动态修改php.ini中的配置实现RCE 1. I ...

  7. [资料搜集狂]D3.js数据可视化开发库

    偶然看到一个强大的D3.js,存档之. D3.js 是近年来十分流行的一个数据可视化开发库. 采用BSD协议 源码:https://github.com/mbostock/d3 官网:http://d ...

  8. Scala implicit

    Scala implicit implicit基本含义 在Scala中有一个关键字是implicit, 之前一直不知道这个货是干什么的,今天整理了一下. 我们先来看一个例子: def display( ...

  9. AngularJs Angular数据类型判断

    angular.isArray 判断括号内的值是否为数组. 格式:angular.isArray(value); value: 被判断是否为数组的值. ------------------------ ...

  10. soapUI使用-DataSource获取oracle库中的参数

    soapUI使用-DataSource获取oracle库中的参数 下载mysql和oracle驱动包:http://pan.baidu.com/s/1i3sy1MH 放在Program Files\S ...