dotnetnuke事件日志记录-同步?潜在的速度问题?

dotnetnuke事件日志记录-同步?潜在的速度问题?,dotnetnuke,Dotnetnuke,我想利用DotNetNuke日志系统(事件日志和异常日志) 然而,如果我们开始记录太多的事件,我担心潜在的性能问题 日志系统是否异步将事件写入数据库?如果没有,是否有一种有效的方法来实现这一点?我不喜欢让最终用户为了查看一个页面而等待几次数据库写入 谢谢简短回答:这取决于您的DNN配置。默认情况下,日志记录是同步的 详细答案 事件日志使用在web.config中设置的LoggingProvider DotNetNuke随DBLoggingProvider和XMLLoggingProvider一起

我想利用DotNetNuke日志系统(事件日志和异常日志)

然而,如果我们开始记录太多的事件,我担心潜在的性能问题

日志系统是否异步将事件写入数据库?如果没有,是否有一种有效的方法来实现这一点?我不喜欢让最终用户为了查看一个页面而等待几次数据库写入


谢谢

简短回答:这取决于您的DNN配置。默认情况下,日志记录是同步的

详细答案

事件日志使用在web.config中设置的LoggingProvider

DotNetNuke随DBLoggingProvider和XMLLoggingProvider一起提供。 默认情况下,DotNetNuke使用DBLoggingProvider写入EventLog表

如何执行此操作取决于主机设置和站点的事件查看器设置。如果在主机设置中选中了“启用事件日志缓冲区”,则日志记录应该是异步的。 应该是,因为异步日志记录使用调度程序,如果调度程序未启用或停止,日志记录将立即进行

还可以使用LogInfo.BypassBuffering属性强制执行即时日志记录

事件日志设置根据日志类型确定要记录的内容。如果在模块中使用事件日志记录,则必须在EventLogController.AddLog方法中传递日志类型。我通常使用EventLogType.HOST_ALERT,因为它们在事件日志视图中很容易识别,并且在默认情况下被记录(与ADMIN_ALERT不同)

有关更多详细信息,请查看DNN源代码中的AddLog实现:

DBLoggingProvider.AddLog(ByVal LogInfo As LogInfo)
另见: