/// <summary>调试输出</summary> /// <param name="colorIndex">颜色方案</param> /// <param name="action">操作</param> /// <param name="args">参数</param> public void WriteLog(Int32 colorIndex, String action, params Object[] args) { if (!Debug) { return; } if (IsConsole) { ConsoleColor color = Console.ForegroundColor; // 缩进 SetDebugIndent(); // 红色动作 Console.ForegroundColor = colors[colorIndex][0]; Console.Write(action); if (args != null && args.Length > 0) { // 白色参数 //Console.ForegroundColor = ConsoleColor.White; for (int i = 0; i < args.Length; i++) { Console.ForegroundColor = colors[colorIndex][i % colors.Length + 1]; Console.Write(" "); Console.Write(args[i]); } } Console.ForegroundColor = color; Console.WriteLine(); } else { // 缩进 SetDebugIndent(); // 动作 XTrace.Write(action); if (args != null && args.Length > 0) { for (int i = 0; i < args.Length; i++) { XTrace.Write(" "); XTrace.Write("" + args[i]); } } XTrace.WriteLine(""); } }
/// <summary>设置调试缩进</summary> /// <param name="indent">缩进</param> public void SetDebugIndent(Int32 indent) { if (!Debug) { return; } if (IsConsole) { try { Console.CursorLeft = indent * 4; } catch { } } else { var msg = new String(' ', indent * 4); XTrace.Write(msg); } }