C# 日志文件通常放在哪里?

C# 日志文件通常放在哪里?,c#,.net,logging,C#,.net,Logging,我的应用没有管理员权限。日志文件的典型放置位置是哪里?应用程序将安装到c:\programfiles\myapp尝试使用如果您正在谈论Windows桌面应用程序,那么您应该查看枚举并使用将日志存储在CommonApplicationData // This should be the path to C:\ProgramData string commonDataPath = Environment.GetFolderPath(Environment.SpecialFolder.Common

我的应用没有管理员权限。日志文件的典型放置位置是哪里?应用程序将安装到
c:\programfiles\myapp

尝试使用

如果您正在谈论Windows桌面应用程序,那么您应该查看枚举并使用将日志存储在
CommonApplicationData

 // This should be the path to C:\ProgramData
 string commonDataPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

 // Now add your app name to the path above
 string myAppDataPath = Path.Combine(commonDataPath, "MyAppName");

 // Create the directory specific for your app (no error if it exists)
 Directory.CreateDirectory(myAppDataPath);

 // Prepare a log file with an embedded time stamp for today
 string logFile = "MyAppData" + DateTime.Today.Year + 
                                DataTime.Today.Month.ToString("D2") +
                                DataTime.Today.Day.ToString("D2") + ".LOG";

 // And finally here the name for your logging activities
 string fullLogFile = Path.Combine(myAppDataPath, logFile);

请注意,根据定义,只有创建此文件的用户才能在那里写入。同一台计算机上的其他用户编号。但是,可以使用
ApplicationData
而不是
CommonApplicationData
更改此编号,但这也意味着每个用户都有自己的日志。如果您希望为所有用户提供一个存储位置,则由您创建特定文件夹并应用所需的权限集。另外,如果您想向用户显示这些文件,则可以使用enum
MyDocuments

您使用的是什么记录器?@steppup Nothing.将它们放在其文档文件夹中。。只需保存处理失败的文件列表。
CommonApplicationData
,是否需要管理员权限?这意味着安装程序的用户可以在那里创建和写入,同一台计算机上的其他用户编号。但是,这可以使用ApplicationData而不是CommonApplicationData进行更改,但这也意味着每个用户都有自己的日志。如果您希望为所有用户创建一个存储位置,则由您创建一个特定文件夹并应用所需的权限集。我只需要为当前用户执行此操作。我是否可以创建一个文件夹并写入我的文档,以便用户可以在任何时候轻松阅读。是,如果需求是为了方便用户读取这些文件,那么同一个Environment.SpecialFolder enum有一个MyDocumentsokay的条目。。。我希望我不需要任何特殊的权利。