首页 新闻 搜索 专区 学院

写txt格式日志,偶发情况下所有的日志内容写到文件里都是nul,没抛异常,但是软件会在一段时间后闪退

0
悬赏园豆:20 [待解决问题]

    private static void WriteData(string content, string fullPath, bool needDateTime = true)
    {
        try
        {
            lock (lockObj)
            {
                if (string.IsNullOrEmpty(fullPath))
                {
                    return;
                }

                if (!Directory.Exists(Path.GetDirectoryName(fullPath)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(fullPath));
                }
                using (var sw = new StreamWriter(fullPath, true, Encoding.Default))
                {
                    //StreamWriter sw = File.AppendText(fullPath);
                    sw.WriteLine((needDateTime ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff ") : "") + content);
                    sw.Close();
                    sw.Dispose();
                }
            }
        }
        catch (Exception e)
        {
            WriteExcept("WriteData Err:" + e + ",content:" + content);
            if (GetHardDiskFreeSpace(Path.GetPathRoot(AppDomain.CurrentDomain.BaseDirectory)) < 1 &&
                !e.Message.Contains("used by"))
            {

                IsDiskSpaceFull = true;
                MessageBox.Show("写入日志异常," + e.Message + ",content:" + content);
            }
        }
    }

有大佬遇到过这个问题吗?

NEAVERS的主页 NEAVERS | 初学一级 | 园豆:94
提问于:2020-08-05 10:47
< >
分享
所有回答(1)
0

查一下操作系统日志,看看有没有蛛丝马迹

会长 | 园豆:9071 (大侠五级) | 2020-08-05 10:53

有个在时间点后的异常
无法找到来自源 Application Popup 的事件 ID 56 的描述。本地计算机上未安装引发此事件的组件,或者安装已损坏。可以安装或修复本地计算机上的组件。

如果该事件产生于另一台计算机,则必须在该事件中保存显示信息。

以下是包含在事件中的信息:

ACPI
1

消息资源存在,但在消息表中找不到该消息。

支持(0) 反对(0) NEAVERS | 园豆:94 (初学一级) | 2020-08-05 11:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册