Esempio n. 1
0
        public void Write(string text, VtLogState state = VtLogState.None)
        {
            string toFileText;
            var    timeStr = toFileText = GetTimeStr();

            Console.Write(timeStr);

            if (state != VtLogState.None)
            {
                var stateStr = VtLogStateConverter.ToString(state);
                if (!string.IsNullOrEmpty(stateStr))
                {
                    stateStr = string.Format("[{0}] ", stateStr);
                }
                var prevForeColor = Console.ForegroundColor;
                Console.ForegroundColor = VtLogStateConverter.ToColor(state);
                Console.Write(stateStr);
                Console.ForegroundColor = prevForeColor;
                toFileText += stateStr;
            }

            text        = string.Format("{0}", text);
            toFileText += text;
            Console.WriteLine(text);

            LogToFile(toFileText);
        }
Esempio n. 2
0
        public static ConsoleColor ToColor(VtLogState state)
        {
            switch (state)
            {
            case VtLogState.Info:
                return(ConsoleColor.Yellow);

            case VtLogState.Debug:
                return(ConsoleColor.Magenta);

            case VtLogState.Error:
                return(ConsoleColor.Red);

            case VtLogState.Ok:
                return(ConsoleColor.Green);
            }
            return(Console.ForegroundColor);            // jinak vracim vychozi barvu
        }
Esempio n. 3
0
        public void Write(Exception ex, bool debugInfo = true, VtLogState state = VtLogState.Error)
        {
            Write("Exception: ".PadRight(60, '='), state);
            if (ex != null)
            {
                Write(string.Format("Type: {0}", ex.GetType().FullName), state);
                Write(string.Format("Message: {0}", ex.Message), state);
                var webEx = ex as WebException;
                if (webEx != null)
                {
                    Write(string.Format("WebException.Status: {0}", webEx.Status), state);
                    if (webEx.Status == WebExceptionStatus.ProtocolError)
                    {
                        Console.WriteLine("WebException.Response.Status Code: {0}", ((HttpWebResponse)webEx.Response).StatusCode);
                        Console.WriteLine("WebException.Response.Status Description: {0}", ((HttpWebResponse)webEx.Response).StatusDescription);
                    }
                }

                var exceptionsSet = ex.InnerExceptionsSet();
                if (exceptionsSet.Count > 1)
                {
                    Write("Exception list: ", state);
                    exceptionsSet.ForEach(p => Write(p, state));
                }

                if (debugInfo)
                {
                    var newLineSeparator = new string[] { Environment.NewLine };
                    Write("Source: ", state);
                    ex.Source.Split(newLineSeparator, StringSplitOptions.None).ToList().ForEach(p => Write(p, state));

                    Write("StackTrace: ", state);
                    //ar exceptionsSet = ex.InnerExceptionsSet();
                    ex.StackTrace.Split(newLineSeparator, StringSplitOptions.None).ToList().ForEach(p => Write(p, state));
                }
            }
            else
            {
                Write("[exception is null ?]");
            }
            Write(string.Empty.PadRight(60, '='), state);
        }
Esempio n. 4
0
        public static string ToString(VtLogState state)
        {
            switch (state)
            {
            case VtLogState.None:
                return(null);

            case VtLogState.Info:
                return("Info");

            case VtLogState.Debug:
                return("Ddb");

            case VtLogState.Error:
                return("Err");

            case VtLogState.Ok:
                return("Ok");

            default:
                return("?");
            }
        }