예제 #1
0
파일: CQLog.cs 프로젝트: GScience/CQDebuger
 public CQLog(CQLogLevel logLevel, string category, string msg)
 {
     LogLevel = logLevel;
     LogTime  = DateTime.Now.ToLongTimeString();
     Category = category;
     Msg      = msg;
 }
예제 #2
0
        public static void AddLog(CQLogLevel logLevel, string category, string msg)
        {
            var debugLog = new CQLog(logLevel, category, msg);

            if (DebugWindow.Instance != null)
            {
                DebugWindow.Instance.AddLog(debugLog);
            }

            Console.WriteLine(debugLog.ToString());
        }
예제 #3
0
        /// <summary>
        /// 向酷Q跟踪器发送一条日志, 并且拥有优先级和类型
        /// </summary>
        /// <param name="level">日志的优先级</param>
        /// <param name="type">显示在窗体中的类型</param>
        /// <param name="contents">日志详细信息</param>
        /// <returns>返回当前实例 <see cref="CQLog"/></returns>
        public CQLog WriteLine(CQLogLevel level, string type, params object[] contents)
        {
            GCHandle handle = contents.ToString_Ex().GetStringGCHandle();

            try
            {
                CQP.CQ_addLog(this.AuthCode, (int)level, type, handle.AddrOfPinnedObject());
                return(this);
            }
            finally
            {
                handle.Free();
            }
        }
예제 #4
0
        public static void WriteLine(string pluginname, CQLogLevel priority, string type, params string[] messages)
        {
            string msg = string.Empty;

            foreach (var item in messages)
            {
                msg += item;
            }
            switch (priority)
            {
            case CQLogLevel.Debug:
                Console.ForegroundColor = ConsoleColor.Gray;
                break;

            case CQLogLevel.Error:
                Console.ForegroundColor = ConsoleColor.Red;
                break;

            case CQLogLevel.Info:
                Console.ForegroundColor = ConsoleColor.White;
                break;

            case CQLogLevel.Fatal:
                Console.ForegroundColor = ConsoleColor.DarkRed;
                break;

            case CQLogLevel.InfoSuccess:
                Console.ForegroundColor = ConsoleColor.Magenta;
                break;

            case CQLogLevel.InfoSend:
                Console.ForegroundColor = ConsoleColor.Green;
                break;

            case CQLogLevel.InfoReceive:
                Console.ForegroundColor = ConsoleColor.Blue;
                break;

            case CQLogLevel.Warning:
                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                break;

            default:
                Console.ForegroundColor = ConsoleColor.White;
                break;
            }
            Console.WriteLine($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}][{pluginname} {type}]{msg}");
        }
예제 #5
0
파일: CQ.cs 프로젝트: paspy/cqilbridge
 /// <inheritdoc />
 public static void Log(CQLogLevel level, string message, string category)
 => CQAPI.CQ_addLog(_cqauthcode, (int)level, category, message);
예제 #6
0
파일: CQ.cs 프로젝트: paspy/cqilbridge
 /// <inheritdoc />
 public static void Log(CQLogLevel level, string message)
 => CQAPI.CQ_addLog(_cqauthcode, (int)level, level.ToString(), message);