log4net在哪里可以写入与XP,Vista和Windows 7兼容的日志文件?

时间:2011-04-29 19:21:20

标签: windows-7 log4net

我有一个使用log4net进行日志记录的C#.NET 4.0应用程序。在Windows XP下,它始终将日志文件写入 System.Windows.Forms.Application.CommonAppDataPath ,这也适用于Windows 7下的管理员用户,即使UAC设置为其默认级别。但是,在Windows 7下以相同级别的UAC作为受限用户运行时,日志文件无法写入。

有没有办法让log4net在作为受限用户运行时访问相同的滚动日志文件,或者我被迫使用 System.Windows.Forms.Application.UserAppDataPath 而是有不同的每个用户的日志文件?如果可能的话,我希望为所有用户提供一组滚动日志文件,因为它使客户支持变得更加容易。

最后,程序必须运行“asInvoker”,因此提升应用程序不是一种选择。

2 个答案:

答案 0 :(得分:0)

如果您更改文件夹c:\ programdata \ xxx(其中xxx是您的公司名称)的权限,以便为每个人启用写入权限,该怎么办?

答案 1 :(得分:0)

我最终对sgmoore的建议进行了修改。我创建了一个名为C:\ ProgramData \ [CompanyName] \ [ProductName] \ logs的文件夹,我在其上启用了本地Users组的写访问权限。这样做的好处是可以对ProgramData中的所有其他文件保持最小的访问权限,同时为需要它的人提供日志文件的必要访问权限。