/// <summary> /// /// </summary> /// <param name="categories"></param> /// <param name="eventType"></param> /// <param name="message"></param> /// <param name="exception"></param> public static void DoTrace(TraceCategories categories, TraceEventType eventType, String message, Exception exception) { String path = String.Empty; #if WindowsCE path = @"\SDMMC\Wherugo\Log\"; #else path = String.Format("{0}\\", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); #endif StreamWriter stream = new StreamWriter(String.Format("{0}{1}", path, "trace.txt"), true); try { stream.WriteLine(String.Format("{0:yyyy-MM-dd HH:mm:ss} {1}: {2}", DateTime.Now, categories.ToString(), eventType.ToString())); if (message != null) { stream.WriteLine(message); } if (exception != null) { WriteException(stream, exception, 1); stream.WriteLine(); stream.WriteLine("StackTrace:"); stream.WriteLine(exception.StackTrace); } stream.WriteLine(); } finally { stream.Close(); } }
/// <summary> /// Writes an information message /// </summary> /// <param name="message">Message to write</param> /// <param name="categories">Category for message</param> public void Info(string message, TraceCategories categories = TraceCategories.Debug) { if ((categories & TraceCategories.Debug) == TraceCategories.Debug) { this.Logger.Debug(message); } else { this.Logger.Info(message); } }
/// <summary> /// Writes a named data as information /// </summary> /// <param name="name"></param> /// <param name="data"></param> /// <param name="categories"></param> public void Info(string name, object data, TraceCategories categories = TraceCategories.Debug) { if (this.IsEnded) { throw new InvalidOperationException("Trace has been ended"); } // trace each line of serialzed data separately foreach (string sLine in this.Serializer.Serialize(name, data).Split(new[] { Environment.NewLine }, StringSplitOptions.None)) { if (!String.IsNullOrEmpty(sLine)) { Info(sLine, categories); } } }
/// <summary> /// Warites an information message /// </summary> /// <param name="message">Message to write</param> /// <param name="categories">Optional. Specifies the category for this message. Default value is <see cref="TraceCategories.Debug"/>.</param> public void Info(string message, TraceCategories categories = TraceCategories.Debug) { if (this.IsEnded) { throw new InvalidOperationException("Trace has been ended"); } if (IsValidCategory(categories)) { string sMessageText = GetIndentedMessage(message); // enqueue message if there any asynchronous tracers have been added if (this.ManagementService.HasAsynchronousTracers) { EnqueueMessage(new Message(TraceType.Information, sMessageText, categories)); } // write message directly for all synchronous tracers this.ManagementService.Tracers.Where(tracer => tracer is not IAsyncTracer).ToList().ForEach(tracer => tracer.Info(sMessageText, categories)); } }
/// <summary> /// /// </summary> /// <param name="categories"></param> /// <param name="eventType"></param> public static void DoTrace(TraceCategories categories, TraceEventType eventType) { DoTrace(categories, eventType, null, null); }
/// <summary> /// /// </summary> /// <param name="categories"></param> /// <param name="message"></param> public static void DoTrace(TraceCategories categories, String message) { DoTrace(categories, TraceEventType.Information, message, null); }
/// <summary> /// /// </summary> /// <param name="categories"></param> /// <param name="exception"></param> public static void DoTrace(TraceCategories categories, Exception exception) { DoTrace(categories, TraceEventType.Error, null, exception); }
/// <summary> /// /// </summary> /// <param name="categories"></param> /// <param name="eventType"></param> /// <param name="message"></param> public static void DoTrace(TraceCategories categories, TraceEventType eventType, String message) { DoTrace(categories, eventType, message, null); }
/// <summary> /// Write information message to all related tracers. /// </summary> /// <param name="message">Message to write</param> /// <param name="categories">Optional. Trace category of this message. Default value is <see cref="TraceCategories.Debug"/></param> public virtual void Info(string message, TraceCategories categories = TraceCategories.Debug) { this.TraceService?.Info(message, categories); }
/// <summary> /// Creates a new instance of the message class /// </summary> /// <param name="messageType">Type of the message</param> /// <param name="text">Content of the message</param> /// <param name="categories">Categories of the message</param> public Message(TraceType messageType, string text, TraceCategories categories = TraceCategories.Debug) { this.MessageType = messageType; this.Text = text; this.Categories = categories; }
/// <summary> /// Adiciona uma mensagem ao trace da página, com suporte a string. format /// </summary> /// <param name="pTraceCategory">Categoria da mensagem do Trace</param> /// <param name="pMessage">Mensagem a ser exibida (enum com suporte a localização no CultureHub)</param> /// <param name="pParams">Outros parâmetros para o string.format que é feito na mensagem pMessage</param> public void TraceWrite(TraceCategories pTraceCategory, string pMessage, params object[] pParams) { if (Trace.IsEnabled) { Page.Trace.Write(pTraceCategory.ToString(), string.Format(pMessage, pParams)); } }
/// <summary> /// Adiciona uma mensagem ao trace da página, com suporte a string. format /// </summary> /// <param name="pTraceCategory">Categoria da mensagem do Trace</param> /// <param name="pBaseMessage">Mensagem a ser exibida (enum com suporte a localização no CultureHub)</param> /// <param name="pParams">Outros parâmetros para o string.format que é feito na mensagem pBaseMessage</param> public void TraceWrite(TraceCategories pTraceCategory, BuildMsgMessage pBaseMessage, params object[] pParams) { if (Trace.IsEnabled) { Page.Trace.Write(pTraceCategory.ToString(), CultureHub.BuildMessage(pBaseMessage, pParams)); } }
/// <summary> /// Writes an information message /// </summary> /// <param name="message">Message to write</param> /// <param name="category">Optional. Categories for this message, Default value is <see cref="TraceCategories.Debug"/>.</param> public void Info(string message, TraceCategories category = TraceCategories.Debug) { Write(message, TraceType.Information); }
/// <summary> /// Writes an information message /// </summary> /// <param name="message">Message to write</param> /// <param name="categories">Categories of message</param> public void Info(string message, TraceCategories categories = TraceCategories.Debug) { this.InfoTraceAction?.Invoke(message, categories); }
/// <summary> /// Gets on indicator whether a given category is valid based on the management service settings or not /// </summary> /// <param name="category">Category to check</param> /// <returns>Indicator whether given category is valid or not</returns> private bool IsValidCategory(TraceCategories category) { return((this.ManagementService.Categories & category) > 0); }