コード例 #1
0
 /// <summary>
 /// Executes the <see cref="ExecutionManager.PerRunType"/> action.
 /// </summary>
 /// <param name="args">The <see cref="IExecutorArgs"/>.</param>
 internal void OnPerRunType(IExecutorArgs args)
 {
     try
     {
         PerRunType?.Invoke(args);
     }
     catch (Exception ex)
     {
         Trace(() => Logger.Default.Trace($"ExecutionManager '{InstanceId}' AfterRun action threw an Exception (this exception was swallowed by design and otherwise not logged): {ex.ToString()}"));
     }
 }
コード例 #2
0
        /// <summary>
        /// For use with the <see cref="ExecutionManager.PerRunType"/> action to write standardised log messages.
        /// </summary>
        /// <param name="args">The <see cref="IExecutorArgs"/>.</param>
        public void LogExecutionRun(IExecutorArgs args)
        {
            switch (args.RunType)
            {
            case ExecutorRunType.CollectionRun:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(UnexpectedCollectionRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.CollectionIterate:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(UnexpectedCollectionIterateExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.ItemRun:
                if (args.Exception != null)
                {
                    if (args is ExecutorItemRunArgs <FileOperationResult> irargs)
                    {
                        Logger.Default.Exception2(new FileReaderLoggerData(irargs.Item), args.Exception, string.Format(UnexpectedItemRunExceptionMessage ?? "{0}", args.Exception.Message));
                    }
                    else
                    {
                        Logger.Default.Exception2(args, args.Exception, string.Format(UnexpectedItemRunExceptionMessage ?? "{0}", args.Exception.Message));
                    }
                }

                break;

            case ExecutorRunType.CompletionRun:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(UnexpectedCompletionRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.Run:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(UnexpectedRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;
            }
        }
コード例 #3
0
        /// <summary>
        /// For use with the <see cref="ExecutionManager.PerRunType"/> action to write standardised log messages.
        /// </summary>
        /// <param name="args">The <see cref="IExecutorArgs"/>.</param>
        public void LogExecutionRun(IExecutorArgs args)
        {
            switch (Check.NotNull(args, nameof(args)).RunType)
            {
            case ExecutorRunType.CollectionRun:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedCollectionRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.CollectionIterate:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedCollectionIterateExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.ItemRun:
                if (args.Exception != null)
                {
                    if (args is ExecutorItemRunArgs <FileOperationResult> irargs)
                    {
                        Logger.Default.Exception2(new FileReaderLoggerData(irargs.Item), args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedItemRunExceptionMessage ?? "{0}", args.Exception.Message));
                    }
                    else
                    {
                        Logger.Default.Exception2(args, args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedItemRunExceptionMessage ?? "{0}", args.Exception.Message));
                    }
                }

                break;

            case ExecutorRunType.CompletionRun:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedCompletionRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;

            case ExecutorRunType.Run:
                if (args.Exception != null)
                {
                    Logger.Default.Exception2(args, args.Exception, string.Format(System.Globalization.CultureInfo.InvariantCulture, UnexpectedRunExceptionMessage ?? "{0}", args.Exception.Message));
                }

                break;
            }
        }
コード例 #4
0
ファイル: Executor.cs プロジェクト: vishal-sharma/Beef
 /// <summary>
 /// Executes the <see cref="ExecutionManager"/> <see cref="ExecutionManager.PerRunType"/> function.
 /// </summary>
 /// <param name="args">The <see cref="IExecutorArgs"/>.</param>
 internal void OnPerRunType(IExecutorArgs args)
 {
     _executionManager.OnPerRunType(args);
 }