Ejemplo n.º 1
0
 /// <summary>
 /// Writes operational ISE set breakpoint message.
 /// </summary>
 /// <param name="args"></param>
 public void WriteISESetBreakpointEvent(params object[] args)
 {
     PSEtwLog.LogOperationalInformation(PSEventId.ISESetBreakpoint,
                                        PSOpcode.Method,
                                        PSTask.ISEOperation,
                                        PSKeyword.UseAlwaysOperational,
                                        args);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Writes operational ISE debugger step over message.
 /// </summary>
 /// <param name="args"></param>
 public void WriteISEDebuggerStepOverEvent(params object[] args)
 {
     PSEtwLog.LogOperationalInformation(PSEventId.ISEDebuggerStepOver,
                                        PSOpcode.Method,
                                        PSTask.ISEOperation,
                                        PSKeyword.UseAlwaysOperational,
                                        args);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Writes operational scheduled job error message.
 /// </summary>
 /// <param name="args"></param>
 public void WriteScheduledJobErrorEvent(params object[] args)
 {
     PSEtwLog.LogOperationalError(PSEventId.ScheduledJob_Error,
                                  PSOpcode.Exception,
                                  PSTask.ScheduledJob,
                                  PSKeyword.UseAlwaysOperational,
                                  args);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Writes operational scheduled job completed message.
 /// </summary>
 /// <param name="args"></param>
 public void WriteScheduledJobCompleteEvent(params object[] args)
 {
     PSEtwLog.LogOperationalInformation(PSEventId.ScheduledJob_Complete,
                                        PSOpcode.Method,
                                        PSTask.ScheduledJob,
                                        PSKeyword.UseAlwaysOperational,
                                        args);
 }
Ejemplo n.º 5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="className"></param>
 /// <param name="methodName"></param>
 /// <param name="workflowId"></param>
 /// <param name="activityName"></param>
 /// <param name="activityId"></param>
 /// <param name="message"></param>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public void WriteMessage(string className, string methodName, Guid workflowId, string activityName, Guid activityId, string message, params string[] parameters)
 {
     PSEtwLog.LogAnalyticVerbose(PSEventId.Engine_Trace,
                                 PSOpcode.Method, PSTask.None,
                                 PSKeyword.UseAlwaysAnalytic,
                                 className, methodName, workflowId.ToString(),
                                 parameters == null ? message : StringUtil.Format(message, parameters),
                                 String.Empty, // Job
                                 activityName,
                                 activityId.ToString(),
                                 String.Empty);
 }
Ejemplo n.º 6
0
        internal static void LogConsoleStartup()
        {
            Guid activityId = EtwActivity.GetActivityId();

            if (activityId == Guid.Empty)
            {
                EtwActivity.SetActivityId(EtwActivity.CreateActivityId());
            }

            PSEtwLog.LogOperationalInformation(PSEventId.Perftrack_ConsoleStartupStart, PSOpcode.WinStart,
                                               PSTask.PowershellConsoleStartup, PSKeyword.UseAlwaysOperational);
        }
Ejemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="className"></param>
        /// <param name="methodName"></param>
        /// <param name="workflowId"></param>
        /// <param name="job"></param>
        /// <param name="message"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public void WriteMessage(string className, string methodName, Guid workflowId, Job job, string message, params string[] parameters)
        {
            StringBuilder sb = new StringBuilder();

            if (job != null)
            {
                try
                {
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobName, job.Name));
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobId, job.Id.ToString(CultureInfo.InvariantCulture)));
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobInstanceId, job.InstanceId.ToString()));
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobLocation, job.Location));
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobState, job.JobStateInfo.State.ToString()));
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobCommand, job.Command));
                }
                catch (Exception e)
                {
                    CommandProcessorBase.CheckForSevereException(e);
                    // Exception in 3rd party code should never cause a crash due to tracing. The
                    // Implementation of the property getters could throw.
                    TraceException(e);

                    // If an exception is thrown, make sure the message is not partially formed.
                    sb.Clear();
                    sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobName, EtwLoggingStrings.NullJobName));
                }
            }
            else
            {
                sb.AppendLine(StringUtil.Format(EtwLoggingStrings.JobName, EtwLoggingStrings.NullJobName));
            }

            PSEtwLog.LogAnalyticVerbose(PSEventId.Engine_Trace,
                                        PSOpcode.Method, PSTask.None,
                                        PSKeyword.UseAlwaysAnalytic,
                                        className, methodName, workflowId.ToString(),
                                        parameters == null ? message : StringUtil.Format(message, parameters),
                                        sb.ToString(), // Job
                                        String.Empty,  // Activity name
                                        String.Empty,  // Activity GUID
                                        String.Empty);
        }
Ejemplo n.º 8
0
 public void WriteMessage(string className, string methodName, Guid workflowId, string message, params string[] parameters)
 {
     PSEtwLog.LogAnalyticVerbose(PSEventId.Engine_Trace, PSOpcode.Method, PSTask.None, PSKeyword.UseAlwaysAnalytic, new object[] { className, methodName, workflowId.ToString(), (parameters == null) ? message : StringUtil.Format(message, (object[])parameters), string.Empty, string.Empty, string.Empty, string.Empty });
 }