首页 新闻 赞助 找找看

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

0
悬赏园豆:20 [已解决问题] 解决于 2020-10-16 14:50

    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 | 初学一级 | 园豆:20
提问于:2020-08-05 10:47
< >
分享
最佳答案
0

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

收获园豆:20
会长 | 专家六级 |园豆:12401 | 2020-08-05 10:53

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

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

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

ACPI
1

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

NEAVERS | 园豆:20 (初学一级) | 2020-08-05 11:28
其他回答(1)
0

问题是硬盘坏了写不进去,换硬盘解决问题

NEAVERS | 园豆:20 (初学一级) | 2020-10-16 14:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册