位置: 编程技术 - 正文

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

  • 车船税征收标准表
  • 计提利息要计提手续费吗
  • 以个人名义汇货要交税吗
  • 虚增成本300万财务人员责任
  • 税务未抄报
  • 股东出让个人股权流程
  • 农村电网维护费会计分录
  • 企业的银行存款
  • 非货币性资产投资印花税
  • 挂靠单位怎么缴纳增值税?
  • 预提土地使用税的分录
  • 没有实收资本是负债吗
  • 已确认并转销的应收账款会计分录
  • 预付费用计入当期费用吗
  • 产权转移书据印花税是双方交吗
  • 购入包装物
  • 进项税已认证未入账如何处理
  • 机器设备进项税额是否要分期抵扣
  • 耕地占用税和契税什么时候交
  • 公司合作建房什么意思
  • 董事监事的报酬包括哪些
  • 把黑龙江省
  • 收取赔偿金开具什么发票
  • win10怎么清空
  • 华为手机进入recovery模式怎么退出
  • 打开浏览器时间长
  • 收到汇算清缴退税账务处理
  • php反射使用场景
  • 小白学php需要多久能上手
  • 增值税红字专用发票什么意思
  • 股票红利税如何收
  • 常见造成账目差异的原因
  • 钢铁企业成本核算表
  • 尚融宝盈(宁波)投资中心(有限合伙)
  • vue项目引入ts
  • php文件用什么运行
  • stacking 集成
  • 汇算清缴补税的情况有哪些
  • 收到利息收入计入什么科目
  • 凭证过账后发现了错误,如何处理
  • 矿山征收
  • 会计制度对企业财务管理的影响
  • 购入固定资产预付款怎么做账
  • 企业接受投资者投资,投资者超额缴入的资本
  • 将织梦dedecms转换到wordpress
  • mysql命令大全手册
  • 股权转让受让方委托书
  • 微信支付算库存商品吗
  • 小规模做账要做应交税费吗
  • 收到进账发票分录
  • 个人缴纳职业年金的比例为本人缴费工资的多少
  • 营业外支出在贷方
  • 定额备用金怎么做分录
  • 刚购入的固定资产已使用年限怎么填
  • 税控盘没有抄税是什么意思
  • 一般账户的网银操作员变更怎么办理
  • 出口免抵退和免退有什么区别
  • 预缴增值税什么科目
  • 制造费用如何结转生产成本
  • 分期付款进项税额怎么算
  • 购买软件会计科目
  • 如何删除windows media center
  • 用指定用户名访问网络
  • windows的安装
  • number mac
  • Unity3D游戏开发毕业论文
  • 浅谈jQuery中Ajax事件beforesend及各参数含义
  • Node.js中的全局变量有哪些
  • python flask快速入门与进阶
  • javascript基础笔记
  • jquery td
  • python的字符
  • javascript简介和语法
  • javascript面向对象编程指南第三版
  • 创建android项目
  • 人事科负责人是否必须是党员?
  • 洛阳契税首套房认定标准
  • 12333热线时间
  • 年度纳税申报基础信息表怎么填
  • 应税销售额和应纳税额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设