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

Create a log file for a custom DNN module

我们在 DNN 上有一个搜索模块,想要创建一个日志文件,该文件将发送未带回任何匹配项的搜索词。

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

我看到DNN有Log4Net,但是写个txt文件往里面写不是更好吗?

有没有人对保存文件的路径如何工作以及是否有我可以使用的现有 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);

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

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