示例#1
0
        /// <summary>
        ///     Logs the specified error.
        /// </summary>
        /// <param name="error">The error.</param>
        public void Log(ResponseErrorWrapper error)
        {
            lock (Locker)
            {
                var file = ObtainLog(error.Username);

                using (var writer = File.AppendText(file))
                {
                    var entry = JsonConvert.SerializeObject(error, Formatting.Indented, new StringEnumConverter());

                    writer.Write(entry);
                }
            }
        }
示例#2
0
        /// <summary>
        ///     Writes the trace.
        /// </summary>
        /// <param name="error">The error.</param>
        private static void WriteTrace(ResponseErrorWrapper error)
        {
            var logFormat = string.Format(
                TraceFormat,
                error.Occurred,
                error.Message,
                error.ClassName,
                error.MethodName);

            if (Debugger.IsAttached)
            {
                Trace.WriteLine(logFormat);
            }
        }
示例#3
0
        /// <summary>
        ///     Creates the specified error wrapper using the given message.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="username">The username.</param>
        /// <param name="className">Name of the class.</param>
        /// <param name="methodName">Name of the method.</param>
        /// <returns>The error wrapper.</returns>
        public ResponseErrorWrapper Create(string message, string username, Type className, string methodName)
        {
            var retVal = new ResponseErrorWrapper
            {
                ClassName  = className.FullName,
                Message    = message,
                MethodName = methodName,
                Occurred   = DateTime.Now,
                Username   = username
            };

            WriteTrace(retVal);

            logHelper.Log(retVal);

            return(retVal);
        }
示例#4
0
 /// <summary>
 /// Adds an error to the response object.
 /// </summary>
 /// <param name="error">The error.</param>
 public void AddError(ResponseErrorWrapper error)
 {
     Errors.Add(error);
 }