У нас есть модуль поиска по DNN, и мы хотим создать файл журнала, который будет отправлять условия поиска, которые не вернули никаких совпадений.
Затем журнал необходимо будет отправить администратору по электронной почте (возможно, можно будет использовать диспетчер расписания DNN?).
Я вижу, что в DNN есть Log4Net, но не лучше ли написать текстовый файл и записать в него?
Есть ли у кого-нибудь предложения о том, как будут работать Пути для сохранения файла, и есть ли какие-либо существующие функции DNN, которые я могу использовать?

Всегда лучше использовать как можно больше встроенных функций, прежде чем создавать свои собственные. В DNN есть система журналов, которую можно использовать всего с 2 строками кода.
using DotNetNuke.Services.Log.EventLog;
EventLogController logController = new EventLogController();
logController.AddLog("Log Entry", "The detailed message goes here.", PortalSettings, UserId, EventLogController.EventLogType.ADMIN_ALERT);
Если вы действительно хотите создать свой собственный журнал, используйте не файл, а таблицу базы данных.
Вы также можете использовать свой DotNetNuke.log4net.config
Пример записи в несколько файлов:
<log4net>
<appender name = "File1Appender" type = "log4net.Appender.FileAppender">
<file value = "log-file-1.txt" />
<appendToFile value = "true" />
<layout type = "log4net.Layout.PatternLayout">
<conversionPattern value = "%date %message%newline" />
</layout>
</appender>
<appender name = "File2Appender" type = "log4net.Appender.FileAppender">
<file value = "log-file-2.txt" />
<appendToFile value = "true" />
<layout type = "log4net.Layout.PatternLayout">
<conversionPattern value = "%date %message%newline" />
</layout>
</appender>
<root>
<level value = "DEBUG" />
<appender-ref ref = "File1Appender" />
<appender-ref ref = "File2Appender" />
</root>