游戏:unity保存log堆栈到本地


public class Test : MonoBehaviour
{

    //文件的路径
    public string path;
    StreamWriter writer;
    StreamReader reader;

    void Start()
    {
        SetPath();

        // 方法一
        FileInfo file = new FileInfo(path);
        if (file.Exists)
        {
            // file.Delete();
            //  file.Refresh();
        }

        // 方法二
        if (File.Exists(path))
        {
            File.Delete(path);
        }
    }


    void Update()
    {
        if (Input.GetMouseButtonUp(0))
        {
            Debug.Log("Log");
            Debug.LogError("LogError");
            Debug.LogWarning("LogError");
        }
    }


    void OnEnable()
    {
        Application.logMessageReceivedThreaded += OnLogMessageReceivedThreaded;
        System.AppDomain.CurrentDomain.UnhandledException += _OnUnresolvedExceptionHandler;
    }

    void OnDisable()
    {
        Application.logMessageReceivedThreaded -= OnLogMessageReceivedThreaded;
        System.AppDomain.CurrentDomain.UnhandledException -= _OnUnresolvedExceptionHandler;

    }

    private void OnLogMessageReceivedThreaded(string condition, string stackTrace, LogType type)
    {
        StringBuilder str = new StringBuilder();
        str.Append(type.ToString() + ":" + condition + "    堆栈信息:" + stackTrace);
        //   WriteIntoTxt(str.ToString());
        WriteIntoTxtTown(str.ToString());
    }

    private void _OnUnresolvedExceptionHandler(object sender, UnhandledExceptionEventArgs e)
    {
        Debug.LogError(sender);
    }

    // 方法一
    public void WriteIntoTxt(string message)
    {
        FileInfo file = new FileInfo(path);
        if (!file.Exists)
        {
            writer = file.CreateText();
        }
        else
        {
            writer = file.AppendText();
        }
        writer.WriteLine(message);
        writer.Flush();
        writer.Dispose();
        writer.Close();
    }

    // 方法二
    public void WriteIntoTxtTown(string message)
    {
        File.AppendAllText(path, message);
    }



    void SetPath()
    {
        if (Application.platform == RuntimePlatform.Android)
        {
            path = Application.persistentDataPath + "/logInfo.txt";
        }
        if (Application.platform == RuntimePlatform.WindowsEditor)
        {
            path = Application.streamingAssetsPath + "/logInfo.txt";
        }
    }
}


电商优惠券产品设计:整体框架分析

编辑导读:优惠券的作用对于电商网站来说是不可或缺的,它是保持电商活跃度和转化率的手段,了解电商优惠券的整体框架设计有助于产品工作的顺利展开。

IT设计:拿什么拯救你的信息化?

信息化的典型问题如今,信息化在企业中作用无需多言。即使是规模不大的企业,至少也会有财务系统、进销存和小型MES系统等等。大企业更是如此,信息系统的发展也是纷繁复杂,不仅覆盖营销、生产、研发、供应链、服务等业务领域,还包括人力资源、资产管理、财务、质量、办公等管理支持的辅助功能。

商弈网校开发:用户决策的不同模式及营销策略

编辑导语:影响用户决策的因素有很多,在面对不同价值、不同用途的商品时,用户会有不同的决策模式;比如你买一样很贵的商品时,你会经过多种对比,思前想后,最后决定下单;

墨子学院:外链没用吗,那是你不懂如何看出外链的价值!

所谓“内容为王,外链为皇”,尽管这样的时代早已过去,但是我们还是不能忽略外链在网站SEO优化中的地位。

旺道:微信“群邀确认”功能启用,微信营销将何去何从?

微信已成为我们生活的一部分了,可谓是:微信一小步,生活一大步…通电话后听到“张先生,你好…”就会立刻挂断电话。而且现在智能手机也能对该号码进行屏蔽。?三、微信跨圈营销时代已到来微信日活用户超过亿,在如此庞大的用户基础上,如果你只依靠自己的朋友圈、社群这条渠道销售,那么你永远成功不了。自己的圈子里再多人…。而且新功能的启用将使微信群更好的成为圈子、社群运营平台,将