位置: 编程技术 - 正文

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

  • 增值税进项税额不得抵扣的几种情形
  • 税务师考几科几分及格
  • 经营用的电饭锅有哪些
  • 进项大于销项怎么结转分录
  • 发票备注没写
  • 附加免税额是什么
  • 关联企业往来款 利息
  • 房产税和土地使用税会计分录
  • 股权资本成本包括什么
  • 外购货物用于集体福利属于什么
  • 善意取得增值税专用发票如何处理
  • 未取得发票的收入怎么做账
  • 养老金余额退休能取吗
  • 审计调整tb
  • 车辆租赁合同印花税怎么算
  • 印花税是填开票金额吗
  • 火腿属于免税产品吗
  • 个人开劳务发票几个点
  • 养牛场增值税的税率是多?
  • 企业以前年度的亏损在哪查
  • 内部退养个税计算方式
  • 软件开发工资低
  • 车辆租赁怎么报税做账
  • 多交的增值税可以抵所得税吗?
  • 找私人买东西不发货算诈骗吗
  • 现金流量表的计算公式原理
  • 购入成品油怎么做会计分录
  • 小型微利企业怎么认定最新标准
  • 固定资产清理应交税费怎么算
  • phpemail正则
  • shnlog.exe - shnlog是什么进程 有什么用
  • php 静态
  • php字符串的三种定义方式
  • 营改增后房租收入怎么交税
  • 顺流交易合并抵消 chenyiwei
  • 会计核算是什么岗位
  • 任意公积金可以不提取吗
  • 企业取得的分红款要交税吗
  • php框架ci
  • /etc/php-fpm.d/www.conf 配置注意事项
  • php取值
  • vuex的五个属性及使用方法 简书
  • 数据结构的单链表
  • php rtrim
  • python {:s}
  • 政府专项补贴税收
  • mongodb如何修改数据
  • 在建工程盘盈盘亏的账务处理
  • 资金结存属于资产科目吗
  • sql自定义
  • 最新版税控盘怎么设置打印机
  • 跨月的凭证出错如何处理
  • 补交所得税会计处理方法包括
  • 报关期限是如何规定的
  • 销售赠品的会计分录
  • 归纳投入外币资产怎么写
  • 工作失误扣工资
  • 工程结算收入是否缴纳增值税
  • 房地产开发企业建造的商品房,在出售前
  • 经营一家淘宝店需要多少钱
  • 每个月结转损益会计分录
  • mysql安装时出现的问题
  • suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
  • win10桌面上图标
  • 怎样打开进程管理器功能
  • opengl阴影平移
  • 对象转化为字符串的几种方式
  • cocos2d教程
  • js按照指定顺序排序
  • node.js安装模式选择
  • ubuntu不待机
  • javascript填表
  • android 自定义dialog
  • js newyork
  • js实现无限循环
  • 印花税怎么计提科目
  • 陕西国税电子税务局app
  • 法国进囗红酒
  • 联通怎么在网上营业厅更改套餐
  • 地税可以跨区交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设