Где log4net может записывать файлы журналов, совместимые с XP, Vista и Windows 7? - PullRequest
2 голосов
/ 29 апреля 2011

У меня есть приложение на C # .NET 4.0, которое использует log4net для ведения журнала.В Windows XP файлы журнала всегда записываются в System.Windows.Forms.Application.CommonAppDataPath , и это также работает для администраторов в Windows 7, даже если для UAC задан уровень по умолчанию.Однако при работе с ограниченными правами в Windows 7 с UAC на том же уровне файлы журнала не записываются.

Есть ли способ получить log4net для доступа к тем же файлам скользящего журнала при запускекак ограниченный пользователь, или я вынужден использовать System.Windows.Forms.Application.UserAppDataPath и иметь разные файлы журнала для каждого пользователя?Я бы предпочел иметь один набор файлов журналов для всех пользователей, если это возможно, поскольку это значительно облегчает поддержку клиентов.

Наконец, программа должна запускаться "asInvoker", поэтому повышение уровня приложения невариант.

Ответы [ 2 ]

0 голосов
/ 23 мая 2011

В итоге я сделал вариант по предложению sgmoore. Я создал папку с именем C: \ ProgramData \ [CompanyName] \ [ProductName] \ logs, в которую я включил доступ для записи для локальной группы пользователей. Это дает преимущество, заключающееся в минимальном доступе ко всем остальным файлам в ProgramData и предоставлении необходимого доступа к только файлам журнала для тех, кому это необходимо.

0 голосов
/ 30 апреля 2011

Что если вы измените разрешения для папки c: \ programdata \ xxx (где xxx - название вашей компании), чтобы разрешить всем пользователям доступ на запись?

...