/// <summary>
        /// Adds the trace info as extended data to the event.
        /// </summary>
        /// <param name="ev">The event model.</param>
        /// <param name="listener">The listener.</param>
        /// <param name="maxEntriesToInclude"></param>
        public static void AddRecentTraceLogEntries(Event ev, ExceptionlessTraceListener listener = null, int maxEntriesToInclude = DefaultMaxEntriesToInclude) {
            if (ev.Data.ContainsKey(Event.KnownDataKeys.TraceLog))
                return;

            listener = listener ?? Trace.Listeners.OfType<ExceptionlessTraceListener>().FirstOrDefault();
            if (listener == null)
                return;

            List<string> logEntries = listener.GetLogEntries(maxEntriesToInclude);
            if (logEntries.Count > 0)
                ev.Data.Add(Event.KnownDataKeys.TraceLog, logEntries);
        }
 /// <summary>
 /// Adds the recent trace log entries to the event.
 /// </summary>
 /// <param name="builder">The event builder object.</param>
 /// <param name="listener">The listener.</param>
 /// <param name="maxEntriesToInclude"></param>
 public static EventBuilder AddRecentTraceLogEntries(this EventBuilder builder, ExceptionlessTraceListener listener = null, int maxEntriesToInclude = TraceLogPlugin.DefaultMaxEntriesToInclude) {
     TraceLogPlugin.AddRecentTraceLogEntries(builder.Target, listener, maxEntriesToInclude);
     return builder;
 }
 public TraceLogPlugin(ExceptionlessConfiguration config, ExceptionlessTraceListener listener = null) {
     _configuration = config;
     _configuration.Settings.Changed += OnSettingsChanged;
     _listener = listener ?? Trace.Listeners.OfType<ExceptionlessTraceListener>().FirstOrDefault();
 }
 /// <summary>
 /// Adds the recent trace log entries to the event.
 /// </summary>
 /// <param name="builder">The event builder object.</param>
 /// <param name="listener">The listener.</param>
 /// <param name="maxEntriesToInclude"></param>
 public static EventBuilder AddRecentTraceLogEntries(this EventBuilder builder, Diagnostics.ExceptionlessTraceListener listener = null, int maxEntriesToInclude = TraceLogPlugin.DefaultMaxEntriesToInclude)
 {
     TraceLogPlugin.AddRecentTraceLogEntries(builder.Target, listener, maxEntriesToInclude);
     return(builder);
 }