Создайте файл журнала для пользовательского модуля DNN - PullRequest
0 голосов
/ 02 мая 2018

У нас есть модуль поиска в DNN, и мы хотели бы создать файл журнала, который будет отправлять поисковые запросы, которые не возвращали никаких совпадений.

После этого журнал будет отправлен администратору по электронной почте (возможно, можно использовать диспетчер расписания DNN?).

Я вижу, что DNN имеет Log4Net, но не лучше ли написать txt-файл и записать в него?

Есть ли у кого-нибудь предложения о том, как будут работать Пути для сохранения файла и есть ли какая-либо существующая функциональность DNN, которую я могу использовать?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Вы также можете использовать свой 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>

0 голосов
/ 02 мая 2018

Всегда лучше максимально использовать встроенные функции, прежде чем создавать свои собственные. DNN имеет систему журналов, которую вы можете использовать всего с двумя строками кода.

using DotNetNuke.Services.Log.EventLog;

EventLogController logController = new EventLogController();
logController.AddLog("Log Entry", "The detailed message goes here.", PortalSettings, UserId, EventLogController.EventLogType.ADMIN_ALERT);

Если вы действительно хотите создать свой собственный журнал, не используйте файл, а таблицу базы данных.

...