Unity 日志管理系统
Overview
在一个项目中,程序信息输出是必不可少的。但普通的输出不易控制,大量的输出除了影响性能外,还会做成输出混乱,很难找到有效信息。
因些, 开发出LogDog这一功能插件,有效过滤输出类型和类别,帮助定位信息发出位置, 并有效地处理同时大量输出造成的降帧率的情况。
本文描述了高性能“Log Dog”的基本用法及其应用程序。
Quick Start
首先,我们看一条输出的内容格式。
输出分三个类型,INFO、WARN、ERROR。
绿色箭头是输出标题,
红色箭头是输出序号,
蓝色箭头是输出内容,
橙色箭头是输出模块标志。
第二行就是输出所在的文件及所在行。
带参数的输出:
LogDog支持带多种参数的输出,可以是字符串,可以是object, 可以是多个种类的组合。
过滤性输出功能:
LogDog可以对指定的模型标志进行过滤输出。这样就可以在不删除或注释代码的前提下,只关注重点的日志信息。
在Start中,设置了对BAG和CHAT这两个模块标志进行过滤。
接着调用事件方法:
日志的输出内容如下:
很明显,第69和70两行的输出内容并没有输出,被过滤了。
没有文件定位的输出:
有时,根据需要,程序工程大部份的逻辑代码都用其它轻量级的语言来开发。比较Lua、js等。。。
这个时候可以调用不带文件定位的输出,具体的日志定位由对应的语言编写传入。
Demo 运行说明 :
LogDog还可以做自定义化输出处理,比喻写入文件、把指定的输出数据发给后台或服务器、又或者在手机上没有输出面板,需要重定义输出到显示屏幕。。。
在此做一个Demo作重定义输出到显示屏幕的处理。
挂载启动脚本,加入UI中的ScrollView及ScrollView的Content。TextPrefab只是普通的预制体。在AJ_LogDog/Prefab目录中。
另外加入一个Button,只为设置是否显示ScrollView。
设置日志的回调处理方法。
打开日志面板效果如下:
API description:
JOLog.Ins.SetTitle("LOG_TITLE");
//设置输出标题。
JOLog.Ins.SetEnable(true);
//设置输出开关, 如果为false的话, 所有日志都不作输出处理。
JOLog.Ins.SetLogLevel(1);
// Error:3>Warn:2>Info:1
//设置输出等级,大于等于Info的都作输出。
// 如果参数为2, 即只输出Warn和Error的输出等级。
JOLog.Ins.SetRunInTick(true);
// 设置输出时,是否分帧处理,建议设为true,
// 这样程序就不会因为同一时间多个输出时,带来帧率的大幅波动。
// 设为true时,需要在启动的Update中调用JOLog.Ins.Tick();
JOLog.Ins.AddIgnoreTag("Ignore Tag");
// 设置过滤标志
// 所有带些标志的日志,都不作输出。(除错误输出外)
JOLog.Ins.SetCall(this._LogCall);
void _LogCall(short logLv, string msg);
// 设置输出回调, 有需要的情况下,可以对输出作自定义处理
// 另外由于程序的一些异常捕获的输出,也是我们关注的对象,
// 如果需要作重定义输出处理的,可以引入LogExceptionCatch来补充
LogExceptionCatch.Ins.SetDebug(true);
LogExceptionCatch.Ins.SetDrawCall(this._LogCall);
Future Content
1. 进一步优化性能
2. 提供更方便的调用
3. 增加指定性输出
Welcome to contact us
Unity Asset Store URL: https://assetstore.unity.com/packages/slug/142605
Unity 日志管理系统相关推荐
- CentOS 7下安装Logstash ELK Stack 日志管理系统(上)
介绍The Elastic Stack - 它不是一个软件,而是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案.它可以从任何来源,任何 ...
- 利用最新的开源软件构建日志管理系统
我们已经知道OSSIM是目前为数不多的几个开源的SIEM/安全管理平台之一,而目前还没有什么集成化的日志管理(LM)系统. 不过,只要你愿意,可以自己DIY一个日志管理系统,并且用到的都是最新的技术. ...
- Python+Django毕业设计中小型企业工作日志管理系统APP(程序+LW+部署)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- ELK日志管理系统的搭建
ELK日志管理系统的搭建 环境准备 Linux安装Elasticsearch 使用的 Elasticsearch的版本是7.6.2.Elasticsearch7.x要求 Linux内核必须是4+版本以 ...
- 日志管理系统排名_目前较好的日志管理系统有哪些?
企业网络日志管理是企业IT管理员的重要工作之一,日志分析对网络安全具有非常重要的意义.随着互联网的飞速发展,企业网络信息安全面临的挑战越来越大,内鬼恶意操作,外部网络攻击,内部误操作等都能破坏企业网络 ...
- 开源服务器日志实时查看系统,开源日志管理系统
开源日志管理系统 内容精选 换一换 鲲鹏工程师培训及认证为客户提供鲲鹏认证伙伴基于open系开源内核构建的商业软件培训,包含商业软件介绍.特性描述.操作使用.开发指导等内容. 来自:其他 MindX ...
- 基于javaweb+jsp的工作日志管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)
基于javaweb+jsp的工作日志管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MVC ...
- 基于javaweb+jsp的工作日志管理系统
基于javaweb+jsp的工作日志管理系统 JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap 基础JSP+Servlet或JSP+ ...
- 论文php的工作日志,工作日志管理系统毕业论文-.doc
工作日志管理系统毕业论文- 东 莞 理 工 学 院 本 科 毕 业 设 计 毕业设计题目:工作日志管理系统的设计与实现 学生姓名:李明敏 学 号:0641402249 系 别:计算机学院 专业班级:0 ...
- 【附源码】计算机毕业设计java中小型企业工作日志管理系统APP设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
最新文章
- asp网络编程:用ASP打开远端MDB文件的方法
- MySQL数据库:编码
- 选择屏幕——按钮、单选复选框
- 每周一起读 #02 | ICML 2019:基于粒子的变分推断加速方法
- 精简jdk包_具有JDK 12精简数字格式的自定义精简数字模式
- Python 第一章 基础知识
- 高性能编程之IO复用之epoll
- 判断日期是否是合法的:
- 计算机组策略恢复,Win10重置组策略编辑器的方法
- request.getParameter、request.getParameterValues、request.getParameterMap用法详解
- Knowledge Graph Embedding: A Survey of Approaches and Applications【翻译】
- excel单元格内的数值向上、向下取整
- ARM开发板如何安装Linux系统
- 贝叶斯分类器做文本分类案例
- 1.3 创建弧形轴网
- 完善消费信贷风控措施势在必行
- 桂花网创始人赵福勇:蓝牙物联网的领先者,让万物互联奔腾起来
- 雷达杂波matlab,基于MATLAB的雷达杂波建模与仿真研究
- Python有哪些就业方向?
- 清除acaddoc.lsp
热门文章
- Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数模竞赛简介 相关书籍、文章推荐等详细攻略
- EXCEL中如何撤销工作表保护
- 基于Android的物流管理系统设计与实现(含论文)
- 数字孪生技术在智慧工厂中的应用,你知道多少?
- oracle 序列号连号,火并VariPrint技术指标(HaiyaaVariPrint.PDF
- 计算机硬件基本维护方法,计算机硬件全面维护的原则与方法探究
- 8.cisco思科模拟器无线路由器设备实训练习
- flex和blazeds_使用BlazeDS和AMF构建Web和桌面应用程序
- MySQL第七章之后的
- 软考系统集成项目管理工程师全真模拟题(含答案、解析)