位置: 编程技术 - 正文

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

  • 销售服务增值税税率
  • 增值税税控系统技术维护费怎么做账
  • 工会经费应税项怎么算
  • 小规模申请自开专票
  • 替票怎么控制数量
  • 政府补助具有无偿性的特征
  • 职工集资建房款属公款吗
  • 税收的六大作用
  • 短期薪酬是会计科目么
  • 通用原始凭证有哪些?
  • 收购发票怎么做凭证
  • 固定资产盘亏账务处理例题
  • 房产契税新政策消息2023
  • 一般存款账户可以转账给个人吗
  • 哪些费用可以计入待摊费用
  • 金融工具包括哪些及其法律特征
  • 新税法下广告费计税依据
  • 工资薪金支出怎么调整
  • 企业境外收入税率
  • 年收入12万申报人数
  • 分公司固定资产转入总公司的分录怎么做?
  • 合同税率16%调整到13%怎么算
  • 银行流水账单怎么查
  • 本月负数发票大于正数发票 留抵的增值税怎么做账
  • sessmgr.exe - sessmgr是什么进程 有什么用
  • php数组函数输出《咏雪》里有多少"片"字
  • win10电源管理器在哪
  • 销售佣金在所得税里扣吗
  • 车间耗材管理办法
  • 收取包装物押金税率
  • 非货币性资产交换
  • 堡垒山是哪个国家
  • 时间序列转换
  • 报税营业成本可以乱填吗
  • 增值税多扣款了怎么处理
  • laravel创建model
  • tf fans club
  • win11永久关闭桌面弹出广告
  • uniapp h5路由模式
  • scp命令 基于SSH协议远程复制文件
  • addr指令
  • 生育保险具体待遇是什么
  • 如何网上添加办税员上海
  • 购买商品发生的费用计入
  • 九步功法
  • php7安装mysqli扩展
  • mysql清空缓存
  • 旅行社的增值税税率
  • 视同小规模纳税人是有?
  • 纳税人申报的方法有哪些
  • 土地交易服务费由哪个部门收取
  • 其他应收款主要是什么
  • 一张发票能分开做帐务处理吗?
  • 企业所得税计算题及答案解析
  • 资本公积 转增
  • 固定资产基本特点
  • 现金支付无发票怎么报销
  • 新建厂房的费用怎么算
  • 小企业固定资产折旧方法
  • 公司改名后发票怎么开
  • 会计凭证装订的注意事项
  • 红字发票开出的单价可以比蓝字发票高吗?
  • 购买新发票的时候要带旧发票去吗?
  • xp系统许多网页打不开
  • Windows 2003作中转VPN服务器多路由共享上网的方法
  • ubuntu 16.10
  • vmware10虚拟机安装
  • vpengine.exe进程
  • 做ghost备份
  • 电脑开机时出现红色三角形
  • 如何创建一个wifi
  • windows7的关闭方法
  • w10资源管理器怎么打开快捷方式
  • js倒计时结束操作
  • JavaScript中的case
  • unity导出exe没反应
  • 总局公告2011年第34号
  • 临沂学生医疗保险多少钱
  • 江苏省常熟市归哪管
  • 开健身会所国家有补贴吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设