位置: 编程技术 - 正文

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 产生影响

  • 增值税专用发票有效期是多长时间
  • 二手房交易需缴纳哪些费用
  • 企业所得税核定征收的条件
  • 增值税发票记账联和抵扣联都丢了怎么办
  • 劳保用品发放制度文件
  • 财务管理税后利息率计算公式
  • 怎么确认债权
  • 社保所属期和缴费期相差一个月吗
  • 月中入职新公司社保谁交
  • 收到快递费属于什么科目
  • 商贸企业加工费包括哪些
  • 增值税专用发票和普通发票的区别
  • 企业所得税特殊性税务重组
  • 转让土地使用权一般计税方法
  • 3%税率是一般纳税人还是小规模
  • 发票专用章在哪里盖章
  • 增值税17%和13%有什么区别
  • 增值税减免税款科目怎么结转
  • 没有签订合同需要交税吗
  • 一般纳税人怎么查询
  • 生育津贴公司账户怎么维护
  • 一次性优惠税率表
  • 金蝶的币别和汇率怎么取消
  • 高技术制造企业
  • 销售货物没有合同要交印花税吗
  • ai自动生成代码
  • 如何升级mac系统到10.12
  • php文件可包含哪三部分代码
  • 一次性所得个人所得税缴纳标准
  • 利用的英文
  • ubuntu16.04lts
  • php preg_grep
  • 国家规定不计入社保基数
  • 在anaconda下安装python
  • 奥尔梅克
  • 已销售未出库如何结转成本
  • 建账初期的库存商品录入
  • 资产证券化会计处理案例
  • 收到的赔款,罚款怎么算
  • 新开企业如何在电子税务局操作
  • 长期股权投资损益调整
  • 公司一般户财务负责人是另一公司法人
  • SQLite优化方法
  • 固定资产报废如何交增值税
  • mssqlserver服务安装
  • 减值准备需要确认递延所得税资产吗
  • 企业进行成本核算时,应根据生产经营特点
  • 房屋租赁合同印花税怎么交,一年一次吗
  • 其他应付款是什么类账户
  • 公司购买房子如何交税
  • 管理费用里面包括哪些明细科目
  • 转账支票记到哪个科目
  • 营改增对企业有什么弊端
  • 只有销项没有进项怎么交税
  • 办公室清洁费计入办公费吗
  • 为什么生产经营许可证要第三方代办
  • 农产品加计扣除1%怎么计算和会计分录
  • 同比增长率环比增长率怎么算
  • 账务处理有哪几种
  • 环境保护税共享信息表
  • 货物破损怎么写会计分录
  • 结账后发现期间损益结转的凭证做错
  • 如何远程连接小米摄像头
  • windows哪个最好用
  • ubuntu18.04 设置静态ip
  • 怎么在win7系统看蓝牙
  • opengl控制物体移动
  • Extjs4 Treegrid 使用心得分享(经验篇)
  • node.js开发指南
  • unity读取fbx文件
  • jquery中的each方法
  • jquery通过属性值获取元素
  • python中set用法
  • 2021一带一路会议时间?
  • 江苏国税电子税务局网上申报流程
  • 北京朝阳地税局电话号码
  • 税收缴款书税务收现专用的开票人是谁
  • 掌上海关怎么查询
  • 财税方面的问题有什么
  • 百旺开票软件打不开怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设