为自定义DNN模块创建日志文件

时间:2018-05-02 08:53:51

标签: jquery dotnetnuke

我们在DNN上有一个搜索模块,并希望创建一个日志文件,该文件将发送没有带回任何匹配项的搜索条件。

然后必须通过电子邮件将日志发送给管理员(也许可以使用DNN日程管理器?)。

我看到DNN有Log4Net,但写一个txt文件并写入它不是更好吗?

是否有人就如何保存文件的路径以及我是否可以使用任何现有的DNN功能提出建议?

2 个答案:

答案 0 :(得分:3)

在创建自己的内置功能之前,最好尽可能使用内置功能。 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);

如果您真的想创建自己的日志,请不要使用文件而是使用数据库表。

答案 1 :(得分:1)

您也可以使用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>