【问题标题】:Where is the Microsoft.VisualBasic.Logging temp path exactlyMicrosoft.VisualBasic.Logging 临时路径到底在哪里
【发布时间】:2010-09-01 14:57:34
【问题描述】:

我正在对现有应用程序进行小幅更改,以便用户可以在出现问题时通过电子邮件将日志文件发送给我们。即使它是 c#,应用程序也在使用 Microsoft.VisualBasic.Logging.FileLogTraceListener。

这样设置:

FileLogTraceListener fileLogTraceListener = listener as FileLogTraceListener;
fileLogTraceListener.Location = LogFileLocation.TempDirectory;

我的问题是:日志文件去哪里了?

Path.GetTempPath()是同一个地方吗?

我看到很多其他帖子提出了类似的问题,但我需要确保运行此应用程序的任何计算机/操作系统都能够获取日志。我认为没有办法查看 FileLogTraceListener 类来查看它在使用 temp 时的作用?

【问题讨论】:

    标签: c# .net logging


    【解决方案1】:

    如果文档失败,您可以:

    • 使用Reflector查看源码
    • 使用来自 SysInternals 的 Process Monitor 查看您的进程正在执行的 IO。
    • 编写一个测试应用,生成两个文件,一个使用Path.GetTempPath(),一个使用VB Logger。

    【讨论】:

    • 谢谢,我会看看反射器 - 我知道他们正在写入我电脑上的同一个地方,但我担心它在 vista、windows 服务器等下的工作方式会有所不同。
    • @Pondidum 它看起来像是一个枚举,所以我认为它在运行时不会有真正的路径,至少这是从课堂上公开的。
    【解决方案2】:

    和 Path.getTempPath() 是同一个地方。反射器向我展示了这一点:

    private string get_LogFileName()
    {
        string tempPath;
        switch (this.Location)
        {
            case LogFileLocation.TempDirectory:
                tempPath = Path.GetTempPath();
                break;
    

    +1 给 Nate Bross - 反射器帮助找到了答案

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 2011-09-05
      • 2015-03-19
      • 2011-02-18
      • 1970-01-01
      • 2011-09-19
      相关资源
      最近更新 更多