位置: 编程技术 - 正文

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

  • 属于印花税征税对象的是
  • 递延所得税资产账务处理
  • 发票在系统里作用大吗
  • 工程管理服务属于哪个国标行业
  • 报销用专票
  • 什么叫备抵科目,什么叫过渡科目
  • 进口转卖业务
  • 存货内部交易抵消通俗讲解
  • 企业缴纳的财产保险费会计分录
  • 建造期间不可抗力因素入成本么
  • 非独立核算分公司企业所得税
  • 异地预交所得税跨年还能用吗
  • 应收账款计提坏账准备是谨慎性原则吗
  • 增值税过期未抵扣
  • 工业企业月末结转分录
  • 土地增值税哪些可以加计扣除
  • 小苏打税收分类
  • 总分机构如何做账
  • 季节工有工伤吗
  • 开票资料电话可以查到吗
  • 营改增的作用
  • 工会经费减免最新政策2020年山西
  • 公司筹建期间借款怎么办
  • 不交社保一告一个准罚多少钱
  • 盘点固定资产
  • 公司发放的车补扣个人所得税吗
  • 买免税产品
  • 单位预算支出包括哪些
  • linux硬链接命令
  • hpp是什么文件
  • 事业单位专项款不能购买资产吗
  • 退回多缴所得税做贷方本期发生额没有
  • php5升级到php7
  • 工程项目科目如何设置
  • 二手房印花税怎么算2020
  • 企业如何转让
  • 愚人挑战
  • web爬虫视频教程
  • 电子发票手动导出到哪
  • 小企业发票打印流程
  • 小规模纳税人购入货物收到增值税专用发票
  • 摊销专利权的会计科目是
  • 公司期货套期保值会计处理方法
  • 中华人民共和国禁毒法第十三条规定
  • 企业接受的非货币性投资按照 计入实收资本
  • 公司车辆固定资产转移税
  • python字典的特点和用处
  • 怎么把其他应收款借方余额转出
  • 进项税额有留底税额吗
  • 企业基金分红具备的条件
  • 高铁票该怎么申领
  • 个人所得税房屋贷款扣除比例怎么选
  • 税控盘的进项税在哪里申报
  • 增值税的视同销售行为是有哪些?
  • 个人独资企业需要缴纳哪些税种
  • 股息分红要交多少税
  • 建筑业简易征收的条件
  • 企业亏损为什么还继续
  • 银行手续费发票未到怎样做账
  • 公司购买的商品质量问题能用12315投诉吗
  • 无形资产摊销怎么做记账凭证
  • 年化利率是什么意思
  • 联想y400装win8
  • ubuntu pdf编辑器
  • win8怎么固定桌面图标
  • js opendialog
  • android移动网络
  • android 动效
  • mod兼容性
  • android ichart ColumnStacked2D图表无法显示解决方案
  • android 笔记软件推荐
  • 探探左划还是右划
  • shell 批量删除
  • 响应鼠标变换表怎么用
  • js tab切换
  • 用python做一个贪吃蛇
  • python中创建自定义函数
  • 济宁税务局王燕利
  • 小规模纳税人可以用专票抵扣税吗
  • 投资损失属于所得税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设