位置: 编程技术 - 正文

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

  • 进项税额转出借方科目
  • 银行委托贷款上征信吗
  • 收到以前年度退回的所得税
  • 自己房子出租发布信息
  • 增值税发票抵扣勾选平台
  • 印花税按合同的多少收
  • 研发产品成功入库账务处理
  • 销售净水器营业执照范围
  • 本地的住宿费怎么交
  • 汽车计提折旧年限及残值率
  • 行政单位在建工程会计分录
  • 增值税出口退税政策
  • 企业所得税收益计算公式
  • 专门从事研发的企业研发费用可以加计扣除吗
  • 收到样品费计入什么科目
  • 外购的自用小轿车
  • 公司的一些党员特别喜欢健身
  • 企业年会的增值税能抵扣吗?
  • 私营独资企业需要做账吗
  • 广东省电子税务局app下载
  • 耕地占用税完税证明有什么用
  • 免税销售额和免税额区别
  • 商品和服务税收编码怎么查
  • 企业账面库存过大应怎样处理好
  • 房产税发票可以抵扣吗
  • 个人给公司付款怎么做分录
  • 怎么远程重装win10
  • 个人所得税如何退税操作步骤
  • macOS 11 Big Sur beta 4值得升级吗?macOS 11 Big Sur beta 4更新详解
  • php中文乱码解决
  • wordpress主题dux
  • downloadplus.exe是什么进程 作用是什么 downloadplus进程是安全的吗
  • php面向对象详解
  • 利息股息红利个税计算表
  • 留底的进项税额记哪儿?
  • php生成代码
  • 在laravel中,界面文件应该放在以下哪个路径下
  • 预测编码方式
  • 应付债券的会计处理
  • uniapp打开h5页面
  • 镶嵌在巨石之间的英文
  • php和apache
  • 长期借款账务处理会计分录怎么写
  • 广告费应该计入产品成本吗
  • 哪些增值税发票不可以抵扣
  • 支付银行贷款利息现金流量表填哪里
  • 预收物业费纳税义务发生时间
  • mysql中文乱码怎样用代码解决
  • 预算收入支出
  • 没有发票的费用支出怎么入账
  • 无偿调拨资产怎么提折旧
  • 合并报表中的抵消分录是什么意思?
  • 公司送礼计入什么会计科目
  • 营业外收入影响所有者权益吗
  • 汇算清缴后取得上一年发票
  • 调整凭证能不能做2个贷方
  • 购买的商品属于什么会计科目
  • 去年的增值税专用发票可以重开吗
  • php中常用的几个字符
  • sql servererror40
  • xp系统删除文件怎么删
  • Windows Server 2008病毒偷改账号的安全隐患
  • windows server 2008 r2激活密钥
  • w10系统音频怎么设置
  • centos如何安装软件
  • 超级按钮条上的设置
  • win8纯净版32位
  • WIN10企业版安装NET3.5
  • linux dev/sr0
  • pygal python
  • js array api
  • [android] intent实例
  • 关于ie浏览器下面说法正确的是
  • jquery动态添加div
  • js复制对象的方法有哪几种
  • java模拟银行存款功能
  • 小白学javascript
  • 沈阳地方税务局原局长
  • 电梯维修费的税率
  • 安徽马鞍山税务局体检名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设