在客户端计算机上为WPF应用程序创建日志?

时间:2012-01-04 01:49:05

标签: .net wpf c#-4.0

当部署为MSI安装程序并在客户端计算机上运行时,是否可以创建文本文件并在WPF应用程序中记录一些信息。

我尝试使用File.create等创建文件。但是文件未在客户端计算机上创建。

提前致谢。

                        using (FileStream stream = File.Create(@"c:\Log.txt"))
                        {
                            using (StreamWriter writer = new StreamWriter(stream))
                            {
                                writer.WriteLine("I can write to local disk.");
                            }
                        }

2 个答案:

答案 0 :(得分:2)

一种选择是.net中的跟踪API。您可以通过配置文件将其配置为转到文件(文件侦听器)。默认设置为调试输出,您可以使用sysInternals中的DebugView。您甚至可以创建自定义跟踪侦听器。

此链接有一些概述链接:

http://blogs.msdn.com/b/kcwalina/archive/2005/09/20/tracingapis.aspx

答案 1 :(得分:1)

您应该能够在用户的本地应用程序数据存储中使用特定于应用程序的目录:

        string sDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyApplicationDir");

        if (!Directory.Exists(sDirectory))
        {
            Directory.CreateDirectory(sDirectory);
        }

        using (FileStream stream = File.Create(Path.Combine(sDirectory, "Log.txt"))
        {
            using (StreamWriter writer = new StreamWriter(stream))
            {
                writer.WriteLine("I can write to local disk.");
            }
        }