位置: 编程技术 - 正文

Unity3D游戏之游戏日志打印(unity3drpg游戏)

编辑:rootadmin

推荐整理分享Unity3D游戏之游戏日志打印(unity3drpg游戏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d游戏教程,unity3d简单游戏教程,unity3d简单游戏教程,unity3d网络游戏,unity3d简单游戏教程,unity3d网络游戏,unity3d简单游戏教程,unity3drpg游戏,内容如对您有帮助,希望把文章链接给更多的朋友!

游戏运行之时打印日志,方便我们查bug,下面我说说自己项目的日志系统怎么弄。

日志等级分别为

LogLevel.DEBUG,

LogLevel.INFO,

LogLevel.WARNING,

LogLevel.ERROR,

LogLevel.CRITICAL,

LogLevel.EXCEPT。

//获得类名和方法名

private static String GetStackInfo()

{

StackTrace st = new StackTrace();

StackFrame sf = st.GetFrame(2);//

var method= sf.GetMethod();

return String.Format("{0}.{1}():",method.ReflectedType.Name,method.Name);

}

解析:

我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。

日记类LoggerHelper

分别有几个接口:

LoggerHelper.Debug(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Info(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Warning(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Error(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Critical(string filter, object message, Boolean isShowStack = SHOW_STACK);

LoggerHelper.Except(string filter, object message, Boolean isShowStack = SHOW_STACK);

统一调用

Log(string message,LogLevel level ,bool writeEditorLog = ture)

{

var msg = string.Concat(DataTime.Now.ToString("yyyy-MM-dd HH:mm:ss,fff"),message);

m_logWriter.WriteLog(msg,level,writeEditorLog);

}

如:Log(string.Concat("[DEBUG]:",isShowStack?GetStackInfo():"",message,"Index = ",index&#;&#;),LogLevel.DEBUG);

public class LogWriter

{

private string m_logPath = UnityEngine.Application.persistentDtaPath &#; "/log/";

private string m_logFileName = "log_{0}.txt";

private string m_logFilePath;

Unity3D游戏之游戏日志打印(unity3drpg游戏)

private FileStream m_fs;

private StreamWriter m_sw;

private Action<String,LogLevel,bool> m_logWriter;

private readonly static object m_locker = new object();

public LogWriter()

{

if(Directory.Exists(m_logPath)) Directory.CreateDirectory(m_logPath);

m_logFilePath = String.Concat(m_logPath,String.Format(m_logFileName,DataTime.Today.ToString("yyyyMMdd"));

try

{

m_logWriter = Write;

m_fs = new FileStream(m_logFilePath,FileMode.Append,FileAccess.Write,FileShare.ReadWrite);

m_sw = new StreamWriter(m_fs)

}

catch{}

//释放资源

public void Release()

{

lock(m_locker)

{

if(m_sw != null)

{

m_sw.Close();

m_sw.Dispose();

.....

}

private void Write(string msg,LogLevel level,bool writeEditorLog)

{

lock(m_locker)

try

{

if(m_sw != null)

{

m_sw.WriteLine(msg);

m_sw.Flush();

}

.....

}

}

&#;&#;&#;&#;

Unity Batch 对 Vertex Shader 产生影响 今天用VertexShader来实现旗帜飘动,本来设想旗帜是在旗面的法线方向上下飘动的,所以在模型坐标系下给vertex.z加上一个随时间变化的sine波。简化如下

正弦波近似 在做一些游戏效果的时候经常需要用到正弦波,它平滑又有周期性,但是sin的计算开销略大。作为优化,在GPUGem上看到一个用三次函数平滑三角波得到

Unity3D Mesh学习笔记1-创建一个最简单的四边形 usingUnityEngine;usingSystem.Collections;publicclassQuad:MonoBehaviour{//UsethisforinitializationvoidStart(){CreateQuad();}privatefloatm_width=1;privatefloatm_length=1;publicvoidCreateQuad(){/*1.顶

标签: unity3drpg游戏

本文链接地址:https://www.jiuchutong.com/biancheng/384520.html 转载请保留说明!

上一篇:[置顶] unity3d Human skin real time rendering 真实模拟人皮实时渲染([置顶]津鱼.我爱你)

下一篇:Unity Batch 对 Vertex Shader 产生影响

  • 赠送给客户的库存商品怎么做账
  • 待办事项没有印章怎么办
  • 用于非增值税应税项目、免征增值税项目
  • 税号都是数字吗
  • 法人拿走公司利润要交税吗
  • 以件数为印花税计税依据的有哪些
  • 固定资产盘亏计入什么科目
  • 怎么从营业执照上看是不是一般纳税人
  • 应交增值税账面和申报表不符
  • 2021年增值税专用发票红冲发票步骤
  • 一般借款资本化加权平均数
  • 转让无形资产专利权的账务处理
  • 不动产初始登记流程
  • 增值税进项税金额是含税还是不含税
  • 企业要怎样才能发挥其在实现生态产品价值过程中的作用
  • 实验用原材料的会计处理
  • 股东利润分配怎么交税
  • 计提的增值税比例怎么算
  • 应纳所得税额除以收入等于什么
  • 早教加盟需要
  • 建筑行业劳务费开发票可以开工程款吗?
  • 免税发票可以抵多少税
  • 哪些进项税不能加计抵减
  • 在建工程的工资计入哪里
  • 生产成本的工料有哪些
  • 税务发票原件
  • 间接补贴主要包括
  • 遗属补助是死亡当月发放还是次月发放
  • mac 的系统
  • 主体有哪些
  • 电子承兑汇票怎么用
  • 收到服务费计入什么科目
  • 长期待摊会计分录
  • 股票发行费用怎么处理
  • 计划成本法购入材料
  • explorer.exe是啥意思
  • 认缴制注册资金怎么处理账务
  • 文件上传漏洞及解决方案
  • 离职补贴个税计算公式
  • thinkphp django
  • 同城票据清算和清算资金往来的区别
  • 详解php中的序列是什么
  • Selenium.Webdriver最新语法教程(附Chrome实例演示)
  • react-router6.4+的项目种路由实现方式(列举两种)
  • 视觉slam有多难
  • php用mysql连接数据库并查询
  • 销售退货和销售折让的区别
  • 财政拨款结转的二级科目有哪些
  • 利润分配反映什么
  • 待摊费用在资产负债表中怎么表示
  • 外购存货的初始成本由买价加采购费用构成
  • 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法
  • 营改增后房屋租赁税变化
  • 外购无形资产的增值税计入成本吗
  • 购买其他权益工具投资时发生的交易费用
  • 固定资产计提折旧表
  • 有借款合同还要写借条吗
  • 估价入库怎么记账
  • 车辆购置税计入什么科目
  • 怎样计算税款
  • 投资款如何界定
  • 企业的案例分析报告
  • 销售佣金 会计科目
  • linux安装软件怎么安装
  • win10系统安装.net framework 3.5
  • 软件生态圈是什意思
  • 彻底删除怎样恢复
  • cocos2dx怎么用
  • unity shaderlab新手宝典
  • python发送mq消息
  • 关于Air端与android端的通信实现
  • js折叠展开特效
  • unity的text
  • android面试题2019
  • 广东省电子税务局app下载手机版
  • 山西国税电子税务局电话
  • 北京昌平区租房价格
  • 供电企业向电厂收取的并网服务费
  • 河北电子税务局怎么使用
  • 年度关联业务往来报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设