位置: 编程技术 - 正文

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

  • 6.72的税率是怎么算的
  • 增值税和所得税地方留存比例
  • 小规模纳税人租赁不动产税率
  • 我公司租了个人的房子如何入账
  • 春节补贴是加还是减
  • 自然人报税系统怎么进入单位报税系统
  • 水果店个体户怎么交税 广州
  • 股息红利所得如何缴纳个人所得税
  • 房地产企业如何预缴土地增值税
  • 可供出售权益工具投资是非货币
  • 对方公司注销用现金还货款怎么入帐?
  • 因员工过失造成第三方损失
  • 应交税金的期末余额怎么算
  • 公司买了样品又退掉了怎么做分录
  • 非生产用设备及器具
  • 哪家银行存款利率高2023
  • 闲置资金怎么说?
  • 固定资产计提折
  • 新会计准则要求
  • 劳务发票属地原则
  • 关联关系的判定标准
  • 优化技巧
  • 企业所得税佣金扣除规定
  • 一般纳税人增值税申报操作流程
  • 少扣个税多付工资违法吗
  • 如何从Windows 10注销其他用户
  • 在windows 7中
  • w10纯净版系统怎么样
  • win10无法以管理员身份运行的原因及解决方法
  • 盈余 盈利
  • 企业受赠业务的法律规定
  • 长期借款和短期借款会计分录的区别
  • php连接数据库代码是什么
  • php阿里云oss
  • 挪威罗弗敦岛
  • php each list
  • 哪种审计证据可以查出来
  • 转让土地需要办什么手续
  • arc架构
  • 真正的出道仙谁来封
  • vue入门
  • egi脑电数据处理
  • php计时函数
  • php fopen函数的用法
  • pgrep命令作用及含义
  • css 3有哪些新特性
  • 简易征收要交附合同吗
  • 装修公司开增值税专用发票几个点
  • 个人发票抬头怎么弄
  • mysql中的外键的定义
  • 三方合同如何解除
  • 小规模纳税人销售额超过500万
  • 矿泉水发票能否抵税
  • 可供出售金融资产属于什么科目
  • 微信验证收到的信息在哪
  • 物流公司贷款
  • 免增增值税的有
  • 货物出去没有出口报关可以补吗
  • 出库单上面的价格是什么价格
  • 向法人借款凭证摘要怎么写
  • 为什么说进项和销项是相对的
  • 什么发票可以抵扣税
  • 联营企业和子公司哪个好
  • 10分钟学会
  • Win10预览版拆弹
  • 怎么彻底卸载visual
  • ubuntu支持软件
  • MAC怎么将单独一个应用静音
  • windows8正在准备windows
  • shnlog.exe - shnlog是什么进程 有什么用
  • 利用python进行
  • glsl编译
  • shell脚本-p
  • shell 字符串比较
  • javascript中的splice
  • python async
  • 地税局书记是什么级别
  • 如何在电子税务局看本月应申报的税
  • 2022年企业所得税税率2.5% 10% 25%
  • 国外寄东西到国内要身份证号码吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设