2010-01-11 21 views

Trả lời

23

Từ http://www.ventrian.com/Resources/Articles/tabid/213/articleType/ArticleView/articleId/330/Logging-to-the-EventLog.aspx (chỉ là một phần liên quan của bài báo):

Sử dụng bản ghi sự kiện trong mã là khá đơn giản, mã này là như sau: -

Đầu tiên, tạo một thể hiện của các EventLogViewer ...

Dim objEventLog As New DotNetNuke.Services.Log.EventLog.EventLogController 

Tiếp theo, đăng nhập các sự kiện bạn muốn bẫy ...

0.123.
objEventLog.AddLog("Sample Message", 
    "Something Interesting Happened!", 
    PortalSettings, 
    -1, 
    DotNetNuke.Services.Log.EventLog.EventLogController.EventLogType.ADMIN_ALERT) 

Bây giờ, khi mã này được chạy, sự kiện mục nhập nhật ký sẽ xuất hiện trong quản trị -> trình xem nhật ký! Bạn có thể tùy chỉnh các loại sự kiện, cho dù họ là admin, sở tại, mục cập nhật vv

+0

Cảm ơn! Hoàn hảo. – Kukoy

7

Ngoài ra, nếu bạn muốn thêm nhiều dữ liệu hơn để đăng nhập, bạn có thể sử dụng lớp LogInfo để thêm sự kiện vào nhật ký.

Dim eventLog As EventLogController 
eventLog = New EventLogController() 

Dim logInfo As DotNetNuke.Services.Log.EventLog.LogInfo 
logInfo = New LogInfo() 
logInfo.LogUserID = UserId 
logInfo.LogPortalID = PortalSettings.PortalId 
logInfo.LogTypeKey = EventLogController.EventLogType.ADMIN_ALERT.ToString() 
logInfo.AddProperty("PropertyName1", propertyValue1) 
logInfo.AddProperty("PropertyName2", propertyValue2) 

eventLog.AddLog(logInfo) 
5

Đây là C# phiên bản

using DotNetNuke.Common.Utilities; 
using DotNetNuke.Services.Log.EventLog; 

EventLogController eventLog = new EventLogController(); 
DotNetNuke.Services.Log.EventLog.LogInfo logInfo = new LogInfo(); 
logInfo.LogUserID = UserId; 
logInfo.LogPortalID = PortalSettings.PortalId; 
logInfo.LogTypeKey=EventLogController.EventLogType.ADMIN_ALERT.ToString(); 
logInfo.AddProperty("KeyWord=", txtSearch.Text.Trim()); 
logInfo.AddProperty("KeyWordLike=", myParams); 
eventLog.AddLog(logInfo); 
0
using DotNetNuke.Common.Utilities; 
using DotNetNuke.Services.Log.EventLog; 
public static void DnnEventLogMsg(string msg) 
{ 
    EventLogController eventLog = new EventLogController(); 
    DotNetNuke.Services.Log.EventLog.LogInfo logInfo = new LogInfo(); 
    PortalSettings ps = PortalController.Instance.GetCurrentPortalSettings(); 
    UserInfo userInfo = UserController.Instance.GetCurrentUserInfo(); 
    logInfo.LogUserID = userInfo.UserID; 
    logInfo.LogPortalID = ps.PortalId; 
    logInfo.LogTypeKey = EventLogController.EventLogType.ADMIN_ALERT.ToString(); 
    logInfo.AddProperty("Atena3 Message", msg); 
    eventLog.AddLog(logInfo); 
}