В идеале, вы не хотите записывать файлы журналов в корневой каталог вашего веб-приложения, так как они могут оказаться доступными через Интернет, что будет серьезным соображением безопасности.
Конфигурация пути файла журнала может включать переменные среды, поэтому что-то вроде %TMP%\log.txt
или путь на основе %LOCALAPPDATA%
и т. Д. - хороший вариант (если рабочий процесс веб-сайта имеет разрешение на запись вместоположение).
Вы можете записать путь, относящийся к вашему веб-приложению, изменив текущий каталог перед настройкой регистратора:
Environment.CurrentDirectory = AppContext.BaseDirectory;
Или вы можете объединить эти подходы и установитьваша собственная переменная окружения, чтобы сделать это:
Environment.SetEnvironmentVariable("BASEDIR", AppContext.BaseDirectory);
Таким образом, следующая конфигурация:
"%BASEDIR%\logs\log.txt"