我们在DNN上有一个搜索模块,并希望创建一个日志文件,该文件将发送没有带回任何匹配项的搜索条件。
然后必须通过电子邮件将日志发送给管理员(也许可以使用DNN日程管理器?)。
我看到DNN有Log4Net,但写一个txt文件并写入它不是更好吗?
是否有人就如何保存文件的路径以及我是否可以使用任何现有的DNN功能提出建议?
答案 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>