Пример #1
0
        /// <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();
            }
        }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
        /// <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);
                }
            }
        }
Пример #4
0
        /// <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));
            }
        }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="categories"></param>
 /// <param name="eventType"></param>
 public static void DoTrace(TraceCategories categories, TraceEventType eventType)
 {
     DoTrace(categories, eventType, null, null);
 }
Пример #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="categories"></param>
 /// <param name="message"></param>
 public static void DoTrace(TraceCategories categories, String message)
 {
     DoTrace(categories, TraceEventType.Information, message, null);
 }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="categories"></param>
 /// <param name="exception"></param>
 public static void DoTrace(TraceCategories categories, Exception exception)
 {
     DoTrace(categories, TraceEventType.Error, null, exception);
 }
Пример #8
0
 /// <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);
 }
Пример #9
0
 /// <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);
 }
Пример #10
0
 /// <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;
 }
Пример #11
0
 /// <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));
     }
 }
Пример #12
0
 /// <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));
     }
 }
Пример #13
0
 /// <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);
 }
Пример #14
0
 /// <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);
 }
Пример #15
0
 /// <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);
 }