Example #1
0
        public void Log(HttpContext context, string message, string stackTrace, EventTypes eventType)
        {
            context = context ?? HttpContext.Current;

            if (context == null)
            {
                return;
            }

            Task.Factory.StartNew(() =>
            {
                try
                {
                    var requestInfo = RequestInfo.FromHttpContext(context);

                    _logService.LogEvent(new Model.EventLog()
                    {
                        EventTypeID   = (byte)eventType,
                        EventDate     = DateTime.Now,
                        UserID        = requestInfo.UserID,
                        Message       = message,
                        ErrorText     = eventType == EventTypes.Error ? message : null,
                        ServerName    = requestInfo.ServerName,
                        ServerIP      = requestInfo.ServerIP,
                        RemoteIP      = requestInfo.RemoteIP,
                        BrowserType   = requestInfo.Browser,
                        RequestMethod = requestInfo.RequestMethod,
                        ScriptName    = requestInfo.ScriptName,
                        QueryString   = requestInfo.QueryString,
                        PostData      = requestInfo.PostData,
                        Referer       = requestInfo.Referrer,
                        StackTrace    = stackTrace,
                        Source        = requestInfo.Source
                    });
                }
                catch (Exception ex)
                {
                    LogToEventLog(message + Environment.NewLine + stackTrace);
                    LogToEventLog(ex);
                }
            });
        }