Vb.net 按日期降序显示NLog

Vb.net 按日期降序显示NLog,vb.net,visual-c++,nlog,Vb.net,Visual C++,Nlog,我正在将NLog与VB.Net项目一起使用: Private m_logger As NLog.Logger = LogManager.GetCurrentClassLogger() 问题在日志中的填充方式如下: Catch ex As Exception Console.WriteLine("Error: {0}", ex.Message.ToString()) m_logger.Error(ex, "ExtractCalendarInforma

我正在将NLog与VB.Net项目一起使用:

Private m_logger As NLog.Logger = LogManager.GetCurrentClassLogger()
问题在日志中的填充方式如下:

Catch ex As Exception
    Console.WriteLine("Error: {0}", ex.Message.ToString())
    m_logger.Error(ex, "ExtractCalendarInformation")
End Try

现在,这个VB也是一个控制台应用程序,它是用Visual C++编写的另一个应用程序。如果父应用程序检测到存在问题,则会显示日志文件:

void CMeetingScheduleAssistantApp::ShowLogFile(CString strLogFile)
{
    if (PathFileExists(strLogFile))
    {
        CLogDlg dlgLog;

        CTextFileRead fileLog(strLogFile);
        CString strText = _T("");

        fileLog.ReadLine(strText);
        while (!fileLog.Eof())
        {
            strText.Trim();
            if (strText.IsEmpty())
                continue;

            dlgLog.AddLogEntry(strText, true);
            fileLog.ReadLine(strText);
        }

        dlgLog.SetErrorMode(true);
        dlgLog.DoModal();
    }
}
问题是日志文件是按日期顺序排列的,有时用户会向我发送屏幕截图而不滚动

是否仍然可以按fdate删除顺序显示Nlog的此错误日志?而且我不认为只是反向读取文件是可以的

我同时包含了VB和C++标签,因为我可能需要对两个工具进行修改。

我看到了这个问题。问题是我的C#工具使用了
SimpleLogger
,它在一个文件夹中创建日志文件夹,日志按日期命名,日志中的所有项目都按日期递减。但是我不认为我不能在VB.Net中使用
SimpleLogger

一个选项可以是将文件加载到
向量中,然后使用
rbegin()
进行反向迭代并将文件内容插入dlgLog

另一个选项是研究加载文件后如何在
CTextFileRead
中更新滚动条,以便将滚动按钮向下移动到底部


更新 我实际上是在使用
CEdit
控件来显示日志内容。最后,我使用以下代码自动滚动到底部:


m_editLogData.LineScroll(m_editLogData.GetLineCount())

为什么不将文件加载到
向量中,然后使用
rbegin()
用于反向迭代并将文件内容插入
dlgLog
中。或者检查
CTextFileRead
是否有方法在加载文件后向下滚动到底部。@RolfKristensen我将使用向量进行调查。这可能是一个简单的解决方案。谢谢。@RolfKristensen CTextFileRead来自herehttps://www.codeproject.com/Articles/7958/CTextFileDocument 而且它没有反向读取。我想我会尝试另一种方法作为临时解决办法。我建议在
CTextFileRead
中使用滚动条,但不需要任何反向读取。它只是意味着加载文件后自动滚动到底部。就像你可以在网页浏览器中滚动到主页的底部一样。另一个想法。。。在分隔符处拆分每行并分析日期/时间戳。仅当今天的日期为时显示。