Exemplo n.º 1
0
 /// <summary>
 /// Fires <see cref="EventTraced"/> if the instance is currently tracing.
 /// </summary>
 /// <param name="eventName"></param>
 /// <param name="verbosity"></param>
 public void LogEvent(string eventName, EventVerbosity verbosity)
 {
     if (IsTracing)
     {
         EventTraced?.Invoke(this, EventArgs.Empty);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor that uses application name
 /// </summary>
 /// <param name="message">The message of the event or error</param>
 /// <param name="verbosity">Verbosity level as enumerated</param>
 /// <param name="appName"> Appication name</param>
 /// <param name="processId"> Process ID</param>
 public Event(String message, EventVerbosity verbosity, String appName, int processId)
 {
     eventMessage = message;
     verbosityLevel = verbosity;
     processID = processId;
     applicationName = appName;
     switch(verbosity)
     {
         case EventVerbosity.DEBUG:
         case EventVerbosity.EVENT:
         case EventVerbosity.INFO:
             basicType = EventLogEntryType.Information;
             break;
         case EventVerbosity.WARN_LOW:
         case EventVerbosity.WARN_MID:
         case EventVerbosity.WARN_HIGH:
             basicType = EventLogEntryType.Warning;
             break;
         case EventVerbosity.ERROR:
         case EventVerbosity.FATAL:
             basicType = EventLogEntryType.Error;
             break;
         default:
             break;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Logs an ETW event with the desired name.
        /// </summary>
        /// <param name="eventName"></param>
        /// <param name="verbosity">The verbosity to log the event with.</param>
        /// <exception cref="ObjectDisposedException"></exception>
        public void LogEvent(string eventName, EventVerbosity verbosity)
        {
            if (this.disposed)
            {
                throw new ObjectDisposedException("this");
            }

            LogEvent(eventName, null, verbosity);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Logs an event with the desired payload.
        /// </summary>
        /// <param name="eventName">The name of the event to log.</param>
        /// <param name="fields">Payload to associate with the event.</param>
        /// <param name="verbosity">The verbosity to log the event with.</param>
        /// <exception cref="ObjectDisposedException"></exception>
        public void LogEvent(string eventName, LoggingFields fields, EventVerbosity verbosity)
        {
            if (this.disposed)
            {
                throw new ObjectDisposedException("this");
            }

            fields = fields ?? new LoggingFields();
            if (verbosity == EventVerbosity.Critical)
            {
                fields.AddString("StackTrace", Environment.StackTrace);
            }

            this.logger.LogEvent(eventName, fields, GetLoggingLevel(verbosity));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Maps SariphLib <see cref="EventVerbosity"/> values to ETW <see cref="LoggingLevel"/> values.
        /// </summary>
        /// <param name="verbosity"></param>
        /// <returns></returns>
        private static LoggingLevel GetLoggingLevel(EventVerbosity verbosity)
        {
            switch (verbosity)
            {
            case EventVerbosity.Critical:
                return(LoggingLevel.Critical);

            case EventVerbosity.Info:
                return(LoggingLevel.Information);

            case EventVerbosity.Verbose:
                return(LoggingLevel.Verbose);

            default:
                throw new InvalidOperationException("Invalid enum value");
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Logs an event with context about the calling function. Verbosity is
 /// </summary>
 /// <param name="eventName">Event to log.</param>
 /// <param name="fields">Fields to include with the event.</param>
 /// <param name="verbosity">Verbosity for the logged event.</param>
 /// <param name="context">Context to include in the log.</param>
 protected void LogEventWithContext(string eventName, LoggingFields fields = null, EventVerbosity verbosity = EventVerbosity.Info, [CallerMemberName] string context = null)
 {
     fields = fields ?? new LoggingFields();
     fields.AddString("Context", context);
     Logger?.LogEvent(eventName, fields, verbosity);
 }
Exemplo n.º 7
0
 /// <summary>
 /// Fires <see cref="EventTraced"/> if the instance is currently tracing.
 /// </summary>
 /// <param name="eventName"></param>
 /// <param name="fields"></param>
 /// <param name="verbosity"></param>
 public void LogEvent(string eventName, LoggingFields fields, EventVerbosity verbosity)
 {
     LogEvent(eventName, verbosity);
 }
Exemplo n.º 8
0
 public int compareVerbosity(EventVerbosityLevels vl, EventVerbosity v)
 {
     switch (vl)
     {
         case EventVerbosityLevels.ALL:
             return -1;
             break;
         case EventVerbosityLevels.EVENT:
             if (v == EventVerbosity.EVENT)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.DEBUG:
             if (v == EventVerbosity.EVENT)
                 return 1;
             else if (v == EventVerbosity.DEBUG)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.INFO:
             if (v < EventVerbosity.INFO)
                 return 1;
             else if (v == EventVerbosity.INFO)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.WARN_LOW:
             if (v < EventVerbosity.WARN_LOW)
                 return 1;
             else if (v == EventVerbosity.WARN_LOW)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.WARN_MID:
             if (v < EventVerbosity.WARN_MID)
                 return 1;
             else if (v == EventVerbosity.WARN_MID)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.WARN_HIGH:
             if (v < EventVerbosity.WARN_HIGH)
                 return 1;
             else if (v == EventVerbosity.WARN_HIGH)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.ERROR:
             if (v < EventVerbosity.ERROR)
                 return 1;
             else if (v == EventVerbosity.ERROR)
                 return 0;
             else
                 return -1;
             break;
         case EventVerbosityLevels.FATAL:
             if (v == EventVerbosity.FATAL)
                 return 0;
             else
                 return 1;
             break;
         case EventVerbosityLevels.OFF:
         default:
             return 1;
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// No-op.
 /// </summary>
 /// <param name="eventName"></param>
 /// <param name="fields"></param>
 /// <param name="verbosity"></param>
 public void LogEvent(string eventName, LoggingFields fields, EventVerbosity verbosity)
 {
     return;
 }
Exemplo n.º 10
0
 /// <summary>
 /// No-op.
 /// </summary>
 /// <param name="eventName"></param>
 /// <param name="verbosity"></param>
 public void LogEvent(string eventName, EventVerbosity verbosity)
 {
     return;
 }