Exemplo n.º 1
0
        public static EventLogInput GetExceptionInfo(Exception exception, EventLogInput eventLog)
        {
            eventLog.StatusCode   = GetErrorStatusCode(exception);
            eventLog.HelpLink     = GetHelpLink(exception);
            eventLog.HResult      = GetHResult(exception);
            eventLog.Message      = GetMessage(exception);
            eventLog.InnerMessage = GetInnerException(exception);
            eventLog.Source       = GetSource(exception);
            eventLog.StackTrace   = GetStackTrace(exception);
            eventLog.TypeName     = GetTypeName(exception);
            eventLog.Details      = GetDetails(exception);

            return(eventLog);
        }
        /// <summary>
        ///
        /// </summary>
        public static double Create(EventLogInput input)
        {
            var log = new EventLog
            {
                Action                  = input.Action,
                Controller              = input.Controller,
                RouteValues             = input.RouteValues,
                UserName                = input.UserName,
                CreateDateTime          = DateTime.Now,
                EventLogType            = input.EventLogType,
                Ip                      = input.Ip,
                PathInfo                = input.PathInfo,
                QueryString             = input.QueryString,
                Url                     = input.Url,
                UserAgent               = input.UserAgent,
                Cookies                 = input.Cookies,
                Form                    = input.Form,
                MachineName             = input.MachineName,
                PhysicalPath            = input.PhysicalPath,
                PhysicalApplicationPath = input.PhysicalApplicationPath,
                ServerVariables         = input.ServerVariables,
                UserHostName            = input.UserHostName,
                HttpMethod              = input.HttpMethod,
                HttpHost                = input.HttpHost,
                Protocol                = input.Protocol,
                Port                    = input.Port,
                UrlReferer              = input.UrlReferer,

                //ex
                Source       = input.Source,
                StackTrace   = input.StackTrace,
                HelpLink     = input.HelpLink,
                HResult      = input.HResult,
                StatusCode   = input.StatusCode,
                Message      = input.Message,
                InnerMessage = input.InnerMessage,
                Details      = input.Details,
                TypeName     = input.TypeName,
            };

            using (var con = new EventLoggerContext())
            {
                log = con.EventLogs.Add(log);
                con.SaveChanges();
            }
            return(log.Id);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            try
            {
                // Instantiate the LogQuery object
                LogQuery oLogQuery = new LogQuery();

                // Instantiate the Event Log Input Format object
                EventLogInput eventInputFormat = new EventLogInput();

                // When set to "FW", events are retrieved from the oldest to the
                // newest. When set to "BW", events are retrieved from the newest
                // to the oldest.
                eventInputFormat.direction = "FW";

                // Event text messages often span multiple lines. When this parameter
                // is set to "ON", the EVT input format preserves readability of the
                // messages by removing carriage-return, line-feed, and multiple space
                // characters from the message text.
                // When this parameter is set to "OFF", the EVT input format returns
                // the original message text with no intervening post-processing.
                eventInputFormat.formatMessage = true;

                eventInputFormat.binaryFormat = "ASC";
                eventInputFormat.stringsSep   = ",";

                CSVOutput csvOutputFormat = new CSVOutput();

                // ON: always write the header;
                // OFF: never write the header;
                // AUTO: write the header only when not appending to an existing file.
                csvOutputFormat.headers = "ON";

                // Setting this parameter to "ON" causes the CSV output format to write
                // a tab character after each comma field separator, in order to
                // improve readability of the CSV output. Note that using tabs between
                // field values might generate output that is not compatible with
                // certain spreadsheet applications.
                csvOutputFormat.tabs = false;

                // ON: always enclose field values within double-quote characters;
                // OFF: never enclose field values within double-quote characters;
                // AUTO: enclose within double-quote characters only those field
                //    values that contain comma (,) characters.
                csvOutputFormat.oDQuotes = "AUTO";

                // This parameter specifies the date and/or time format to use when
                // formatting values of the TIMESTAMP data type.
                csvOutputFormat.oTsFormat = "yyyy-MM-dd";

                // 0 is the system codepage, -1 is UNICODE.
                csvOutputFormat.oCodepage = -1;

                // 0: existing files are appended with the output;
                // 1: existing files are overwritten with the output;
                // 2: existing files are left intact, discarding the output.
                csvOutputFormat.fileMode = 1;

                /*
                 * EventLog     STRING  Name of the Event Log or Event Log backup file
                 * RecordNumber   INTEGER  Index of this event
                 * TimeGenerated   TIMESTAMP Event generated date/time (local time)
                 * TimeWritten    TIMESTAMP Event logged date/time (local time)
                 * EventID      INTEGER  The ID of the event
                 * EventType     INTEGER  The numeric type of the event
                 * EventTypeName   STRING  The descriptive type of the event
                 * EventCategory   INTEGER  The numeric category of the event
                 * EventCategoryName STRING  The descriptive category of the event
                 * SourceName    STRING  The source that generated the event
                 * Strings      STRING  The textual data
                 * ComputerName   STRING  The name of the computer
                 * SID        STRING  The Security Identifier associated with the event
                 * Message      STRING  The full event message
                 * Data       STRING  The binary data associated with the event
                 */

                string query = @"SELECT TOP 10 EventLog, RecordNumber, Message INTO "
                               // Enclose path in single ticks to handle spaces.
                               query += "'" + FullPathToCsv + "' FROM ";
                // Name of application Log, System, Security, Application, CustomLogName
                query += "System";
                oLogQuery.ExecuteBatch(query, eventInputFormat, csvOutputFormat);
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                Console.WriteLine("Unexpected error: " + ex.Message);
            }
        }