Hi everybody,
i still didn't resolve the problem.
Therefore I looked deeper into it. The Pending Notification Issue is resolved differently in the LoggingProviders. As I use the DBLoggingProvider i got to the
AddEventLog stored procedure and found something interesting for me. In the Log settings i configured the occurence threshold for an event to 1 in 1 second.
In the stored procedure this is handled as shown here:
IF @ThresholdQueue > @NotificationThreshold
BEGIN
UPDATE dbo.EventLog
SET LogNotificationPending = 1
WHERE LogConfigID = @LogConfigID
AND LogNotificationPending IS NULL
AND LogCreateDate > @MinDateTime
END
Should'nt that be >= in the IF clause??
The next point is, that it isn't possibly to set the notification
threshold to 0. This would ensure, that DNN send the mail immediately.
So I looked around in code and noticed that we have the "Enable Event Log Buffer"
in the host settings. Enabling this let the Provider add the log object to an
static queue. The PurgeLogBuffer SchedulerClient gets these items and put
it into the DB. And here is one more point I wonder about.
In the sp AddEventLog there is following part which proofs whether the log is pending or not
SELECT @ThresholdQueue = COUNT(*)
FROM dbo.EventLog
INNER JOIN dbo.EventLogConfig
ON dbo.EventLog.LogConfigID = dbo.EventLogConfig.ID
WHERE LogCreateDate > @MinDateTime
As the PurgeLogBuffer Scheduler writes the log objects to a lot later
than the event occures the part
IF @ThresholdQueue > @NotificationThreshold
BEGIN
UPDATE dbo.EventLog
SET LogNotificationPending = 1
WHERE LogConfigID = @LogConfigID
AND LogNotificationPending IS NULL
AND LogCreateDate > @MinDateTime
END
gets a problem as the time difference is greater than my second....
Should there be another column in DB like logDate??
Is it possible that there are any inconsistencies?
Or do i still have an configuration problem??
Thanks for your replies!!