Unity保存日记到本地

这篇具有很好参考价值的文章主要介绍了Unity保存日记到本地。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;

public class SaveLog : MonoBehaviour
{
    public bool isSavaLog = true;
    public bool isSaveError = true;

    private void Awake()
    {
        Application.logMessageReceived += onHandleLog;

        string fileDif = Application.persistentDataPath + "/Debug/Error/";
        Debug.Log("日记保存路径:" + fileDif);
    }

    private void onHandleLog(string condition, string stackTrace, LogType type)
    {
        string time = DateTime.Now.ToString("yyy-MM-dd HH:mm");

        LogInfo info = new LogInfo();
        info.condition = condition;
        info.stackTrace = stackTrace;
        info.type = type;
        info.tiem = time;
        info.deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier;
        info.deviceName = SystemInfo.deviceName;
        info.operatingSystem = SystemInfo.operatingSystem;
        info.systemMemorySize = SystemInfo.systemMemorySize;
        info.deviceModel = SystemInfo.deviceModel;

        string jsonStr = JsonUtility.ToJson(info);


        if (type == LogType.Error || type == LogType.Exception)
        {
            string fileDif = Application.persistentDataPath + "/Debug/Error/";
            if (isSaveError) writeText(fileDif, jsonStr);
        }
        else
        {
            string fileDif = Application.persistentDataPath + "/Debug/Log/";
            if (isSavaLog) writeText(fileDif, jsonStr);
        }
    }

    private void writeText(string fileDif, string message)
    {
        //string fileDif = Application.persistentDataPath + "/Debug/Error/";
        if (!Directory.Exists(fileDif))
        {
            Directory.CreateDirectory(fileDif);
        }
        string textPath = fileDif + DateTime.Now.ToString("yyy-MM-dd") + ".txt";

        if (string.IsNullOrEmpty(textPath) || string.IsNullOrEmpty(message)) return;

        StreamWriter sw = null;
        if (!File.Exists(textPath)) sw = File.CreateText(textPath);
        else sw = File.AppendText(textPath);

        sw.WriteLine(message + '\n');

        sw.Close();
        sw.Dispose();
    }

}


[Serializable]
public class LogInfo
{
    /// <summary>日志ID</summary>
    public string id;
    /// <summary>计数</summary>
    public int count = 1;
    /// <summary>日志条件</summary>
    public string condition;
    /// <summary>堆栈跟踪信息</summary>
    public string stackTrace;
    /// <summary>日志类型</summary>
    public LogType type;
    /// <summary>时间</summary>
    public string time;
    /// <summary>设备唯一标识符</summary>
    public string deviceUniqueIdentifier;
    /// <summary>设备名称</summary>
    public string deviceName;
    /// <summary>操作系统</summary>
    public string operatingSystem;
    /// <summary>系统内存大小</summary>
    public int systemMemorySize;
    /// <summary>设备型号</summary>
    public string deviceModel;
    /// <summary>日记记录时间</summary>
    public string tiem;
}

文章来源地址https://www.toymoban.com/news/detail-741270.html

到了这里,关于Unity保存日记到本地的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中生成相机照片并保存到本地的详细教程

    在游戏和应用程序开发中,有时候需要通过代码在Unity中使用相机捕捉当前场景或特定视角的照片,并将其保存到本地。本教程将演示如何通过C#代码实现这一功能。 此函数的目标是使用给定的相机(photographyCamera)生成图像,并将图像保存到指定路径。函数有五个参数,分别

    2024年01月18日
    浏览(50)
  • Unity开发日记-进入游戏按钮和退出游戏按钮的逻辑实现

    本篇文章只是总结一下UGUI中进入游戏和退出游戏的逻辑代码的两种实现方式,方便以后查阅,以后如果有其他的方法也会随时更新(Unity版本为2021) 首先是在UI的Image(背景图)上挂载脚本 代码如下 两种方法各有各的好。方法一代码量少但项目大的时候管理比较麻烦;方法

    2024年02月11日
    浏览(39)
  • Android开发 拍照+读取相册+保存到本地

    注册除了MainActivity的其他两个界面Albums和Camera,添加provider,申请使用相机的权限,读写权限 file_path.xml代码 如果虚拟机可以运行,手机不能安装,gradle.properties里面添加 文件结构 总结 https://wwzb.lanzoue.com/imUKH0n1nq4d 密码:1eda 分享Demo可试试效果 参考来源:  Android studio调用手机

    2024年02月05日
    浏览(39)
  • Unity 从服务器加载AssetBundle资源写入本地内存,并将下载保存的AB资源从本地内存加载至场景

    AB资源打包后有一个【目录文件】AssetBundle,他保存了所有AB资源的路径与名称, 通过aLLAssetBundleURL链接路径 组拼 从【目录文件】获得的AB资源的名字,然后再协程方法内编写相关代码,从而实现从服务器加载资源的功能。详细见代码。

    2024年02月13日
    浏览(32)
  • unity-VRTK-simulator开发学习日记3(射线样式|忽略层|有无效名单)

    目录 射线样式 组成 可用状态 材质替换  射线激活设置为常态 忽略层级(射线等) 自定义忽略层级 (射线等) 有效名单和无效名单 有效名单 无效名单 创建一个模拟手柄的按钮(键盘键入按钮) 输入系统 组成:起点、中间部分、终点 可用时启用valid,不可用时启用inva

    2024年02月12日
    浏览(24)
  • unity-VRTK-simulator开发学习日记2(抛物线 导包|使用|调用方法)

    曲线上面那个是直线 (选择哪只手射出射线) 找到模拟手柄按键 找到simulator的交互的几个按键(ButtonOne为例) value,默认值为false,不触发,按下后为true,触发。 触发方式为mouse0,即鼠标左键。    将该按钮ButtonOne给到抛物线的激活方式。   active  激活时调用 deactive  非

    2024年02月03日
    浏览(64)
  • unity-VRTK学习日记1(VRTK4|无头盔开发模拟器SpatialSimulator)

    目录 前言 前期准备 1.配置VRTK4: 2.把几个插件给安装好 查看自己安装了哪些VRTK插件  3.添加模拟器 操作方法 操作方法:人话 VRTK的较早版本不适用于Unity的新版本,原因好像是Unity将VR开发功能并入到自家的XR下了。就是之前更新的那些XR interaction tookit。 本人版本:2021.3.

    2024年02月01日
    浏览(26)
  • 【下载文件】uniapp开发小程序,下载文件并保存到本地

    1.1实现效果:点击文件附件,下载到本地 1.2具体代码: 2.1:效果图 保存方式是:点击下载按钮,通过微信选择一个好友,发给给好友的方式,进行保存。 2.2实现代码: 下载按钮: js:

    2024年02月16日
    浏览(38)
  • 【Unity开发小技巧】UnityWebGL打包本地浏览器运行查看

    目录 一.前言: 二.WebGL打包 三.配置web.config(重要) 四.部署IIS  五.测试 正常打包WebGL后在浏览器直接运行会报以下这个错: It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser. 无法打开本地链接,需把网页发布成

    2024年02月11日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包