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. Jenkins项目构建结果通知Email的替代方案Wall Display插件

    插件:https://wiki.jenkins-ci.org/display/JENKINS/Wall+Display+Plugin 效果: 操作: 直接在一个大屏幕上打开这个项目的构建页面,那么每次 ...

  2. 洛谷P1889 士兵站队

    题目描述 在一个划分成网格的操场上, n个士兵散乱地站在网格点上.由整数 坐标 (x,y) 表示.士兵们可以沿网格边上.下左右移动一步,但在同时刻任一网格点上只能有名士兵.按照军官的命令,们要整齐地列 ...

  3. C#用HttpClient抓取jd.com搜索框下拉数据

    添加System.Web.dll引用 添加System.Net.Http引用 using System.Net.Http; using System.Web; string key = "电 ...

  4. C#网络编程基础知识

    C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...

  5. jsf primefaces note

    对应cdi,inject的变量,必须使用getter才能访问的值. @Inject DateView dateView; dateView.getFromDate1() 这样是娶不到的: dateVi ...

  6. Base64复习

    http://www.cnblogs.com/chengxiaohui/articles/3951129.html

  7. webView(简单的浏览器)

    #import "MJViewController.h" @interface MJViewController () <UISearchBarDelegate, UIWeb ...

  8. socketserver模块写的一个简单ftp程序

    一坨需求... 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server上随意切换目录 (cd) ...

  9. Zipf定律

    http://www.360doc.com/content/10/0811/00/84590_45147637.shtml 英美在互联网具有绝对霸权 Zipf定律是美国学者G.K.齐普夫提出的.可以表 ...

  10. (转)Java字符串

    转自:http://blog.sina.com.cn/s/blog_899678b90101brz0.html 创建字符串有两种方式:两种内存区域(字符串池,堆)1," " 引号创 ...