예제 #1
0
        /// <summary>
        /// Destructure the destructured object into LogEvent by built-in property factory
        /// </summary>
        /// <param name="logEvent"></param>
        /// <exception cref="ArgumentNullException"></exception>
        public void Process(LogEvent logEvent)
        {
            if (logEvent is null)
            {
                throw new ArgumentNullException(nameof(logEvent));
            }

            if (logEvent.Exception != null)
            {
                var destructuredObject = Destructure(logEvent.Exception);

                logEvent.AddExtraProperty(_destructuringOptions.Name, destructuredObject, true);
                logEvent.ContextData.SetExceptionDetail(_destructuringOptions.Name, destructuredObject, logEvent.Exception, false);
            }
        }