WriteLog() public method

public WriteLog ( string p ) : void
p string
return void
示例#1
0
 public static void ShowDebug(Exception ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Debug) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Cyan;
     Console.Write("[Debug]");
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);
     Console.ResetColor();
     if (log != null)
         log.WriteLog("[Debug]" + ex.Message + "\r\n" + ex.StackTrace);
 }
示例#2
0
 public static void ShowDebug(string ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Debug) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Cyan;
     Console.Write("[Debug]");
     Console.ForegroundColor = ConsoleColor.White;
     StackTrace Stacktrace = new StackTrace(1, true);
     string txt = ex;
     foreach (StackFrame i in Stacktrace.GetFrames())
     {
         txt = txt + "\r\n      at " + i.GetMethod().ReflectedType.FullName + "." + i.GetMethod().Name + " " + i.GetFileName() + ":" + i.GetFileLineNumber();
     }
     txt = FilterSQL(txt);
     Console.WriteLine(txt);
     Console.ResetColor();
     if (log != null)
     {
         log.WriteLog("[Debug]" + txt);
     }
 }
示例#3
0
 public static void ShowError(Exception ex, Logger log)
 {
     try
     {
         if ((defaultlogger.LogLevel | LogContent.Error) != defaultlogger.LogLevel)
             return;
         if (log == null) log = defaultlogger;
         Console.ForegroundColor = ConsoleColor.Red;
         Console.Write("[Error]");
         Console.ForegroundColor = ConsoleColor.White;
         Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);
         Console.ResetColor();
         log.WriteLog("[Error]" + ex.Message + "\r\n" + ex.StackTrace);
     }
     catch { }
 }
示例#4
0
 public static void ShowWarning(string ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Warning) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.Write("[Warning]");
     Console.ResetColor();
     Console.WriteLine(ex);
     if (log != null)
     {
         log.WriteLog("Warning:" + ex);
     }
 }
示例#5
0
 public static void ShowSQL(String ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.SQL) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Magenta;
     Console.Write("[SQL]");
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine(ex);
     Console.ResetColor();
     if (log != null)
         log.WriteLog("[SQL]" + ex);
 }
示例#6
0
 public static void ShowWarning(Exception ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Warning) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.Write("[Warning]");
     Console.ResetColor();
     Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);
     if (log != null)
     {
         log.WriteLog("Warning:" + ex.ToString());
     }
 }
示例#7
0
 public static void ShowSQL(Exception ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.SQL) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Magenta;
     Console.Write("[SQL]");
     Console.ForegroundColor = ConsoleColor.White;
     Console.WriteLine(ex.Message + "\r\n" + FilterSQL(ex.StackTrace));
     Console.ResetColor();
     if (log != null)
         log.WriteLog("[SQL]" + ex.Message + "\r\n" + FilterSQL(ex.StackTrace));
 }
示例#8
0
 public static void ShowInfo(string ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Info) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Green;
     Console.Write("[Info]");
     Console.ResetColor();
     Console.WriteLine(ex);
     if (log != null)
     {
         log.WriteLog(ex);
     }
 }
示例#9
0
 public static void ShowInfo(Exception ex, Logger log)
 {
     if ((defaultlogger.LogLevel | LogContent.Info) != defaultlogger.LogLevel)
         return;
     Console.ForegroundColor = ConsoleColor.Green;
     Console.Write("[Info]");
     Console.ResetColor();
     Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);
     if (log != null)
     {
         log.WriteLog(ex.Message);
     }
 }
示例#10
0
 public static void ShowError(string ex, Logger log)
 {
     try
     {
         if ((defaultlogger.LogLevel | LogContent.Error) != defaultlogger.LogLevel)
             return;
         if (log == null) log = defaultlogger;
         Console.ForegroundColor = ConsoleColor.Red;
         Console.Write("[Error]");
         Console.ForegroundColor = ConsoleColor.White;
         Console.WriteLine(ex);
         Console.ResetColor();
         log.WriteLog("[Error]" + ex);
     }
     catch { }
 }
示例#11
0
        private void ReceiveData(IAsyncResult ar)
        {
            try
            {
                this.nlock.AcquireWriterLock(Timeout.Infinite);
                if (this.isDisconnected)
                {
                    this.nlock.ReleaseWriterLock();
                    return;
                }
                if (!sock.Connected)
                {
                    this.nlock.ReleaseWriterLock();
                    ClientManager.EnterCriticalArea();
                    this.Disconnect();
                    ClientManager.LeaveCriticalArea();
                    return;
                }
                try { stream.EndRead(ar); }
                catch (Exception)
                {
                    this.nlock.ReleaseWriterLock();
                    ClientManager.EnterCriticalArea();
                    this.Disconnect();
                    ClientManager.LeaveCriticalArea();
                    return;
                }
                byte[] raw = (byte[])ar.AsyncState;
                if (this.isGateway)
                {
                    raw = Encryption.Decrypt(raw, 2, this.ClientKey);
                }
                if (!isGateway)
                {
                    ushort messageID = (ushort)(raw[7] + (raw[6] << 8));

                    if (!this.commandTable.ContainsKey((messageID)))
                    {
                        if (!this.fullHeader)
                        {
                            Logger.ShowWarning(string.Format("Un paquete desconocido {0:X} {1:X} desde " + sock.RemoteEndPoint.ToString(), raw[6], raw[7]), null);
                        }
                        else
                        {
                            if (commandTable.ContainsKey((ushort)0xFFFF))
                            {
                                if (this.commandTable[(ushort)0xFFFF].SizeIsOk((ushort)raw.Length))
                                {
                                    Packet p = this.commandTable[(ushort)0xFFFF].New();
                                    p.data = raw;
                                    p.size = (ushort)(raw.Length);

                                    ClientManager.EnterCriticalArea();
                                    try
                                    {
                                        p.Parse(this.client);
                                    }
                                    catch (Exception ex)
                                    {
                                        Logger.ShowError(ex);
                                    }
                                    ClientManager.LeaveCriticalArea();
                                }
                                else
                                {
                                    string error = "Paquete invalido del cliente " + sock.RemoteEndPoint.ToString();
                                    Console.WriteLine(error);
                                    Log.WriteLog(error);
                                    ClientManager.EnterCriticalArea();
                                    this.Disconnect();
                                    ClientManager.LeaveCriticalArea();
                                    return;
                                }
                            }
                            else
                            {
                                Logger.ShowWarning("Paquete universal 0xFFFF no definido!", null);
                            }
                        }
                    }
                    else
                    {
                        if (this.commandTable[messageID].SizeIsOk((ushort)raw.Length))
                        {
                            Packet p = this.commandTable[messageID].New();
                            p.data = raw;
                            p.size = (ushort)(raw.Length);
                            Client client;
                            if (p.SessionID != 0)
                            {
                                client = this.currentClientManager.GetClient(p.SessionID);
                                if (client == null)
                                {
                                    client = this.client;
                                }
                            }
                            else
                            {
                                client = this.client;
                            }
                            ClientManager.EnterCriticalArea();
                            try
                            {
                                if (client.netIO == null)
                                {
                                    client.netIO = this;
                                }
                                p.Parse(client);
                            }
                            catch (Exception ex)
                            {
                                Logger.ShowError(ex);
                            }
                            ClientManager.LeaveCriticalArea();
                        }
                        else
                        {
                            string error = string.Format("Tamano del paquete invalido (Paquete:{0:X4}) de cliente {1}", messageID, sock.RemoteEndPoint.ToString());
                            Console.WriteLine(error);
                            Log.WriteLog(error);
                            this.nlock.ReleaseWriterLock();
                            ClientManager.EnterCriticalArea();
                            this.Disconnect();
                            ClientManager.LeaveCriticalArea();
                            return;
                        }
                    }
                }
                else
                {
                    ushort messageID;
                    if (!fullHeader)
                    {
                        messageID = (ushort)(raw[7] + (raw[6] << 8));

                        if (!this.commandTable.ContainsKey((messageID)))
                        {
                            Logger.ShowWarning(string.Format("Se ha obtenido un paquete desconocido {0:X} {1:X} desde " + sock.RemoteEndPoint.ToString(), raw[6], raw[7]), null);
                        }
                        else
                        {
                            if (this.commandTable[messageID].SizeIsOk((ushort)raw.Length))
                            {
                                Packet p = this.commandTable[messageID].New();
                                p.data      = raw;
                                p.size      = (ushort)(raw.Length);
                                p.isGateway = this.isGateway;
                                ClientManager.EnterCriticalArea();
                                try
                                {
                                    p.Parse(this.client);
                                }
                                catch (Exception ex)
                                {
                                    Logger.ShowError(ex);
                                }
                                ClientManager.LeaveCriticalArea();
                            }
                            else
                            {
                                string error = "Invalid packet size from client " + sock.RemoteEndPoint.ToString();
                                Console.WriteLine(error);
                                Log.WriteLog(error);
                                this.nlock.ReleaseWriterLock();
                                ClientManager.EnterCriticalArea();
                                this.Disconnect();
                                ClientManager.LeaveCriticalArea();
                                return;
                            }
                        }
                    }
                    else
                    {
                        if (commandTable.ContainsKey((ushort)0xFFFF))
                        {
                            if (this.commandTable[(ushort)0xFFFF].SizeIsOk((ushort)raw.Length))
                            {
                                Packet p = this.commandTable[(ushort)0xFFFF].New();
                                p.data      = raw;
                                p.size      = (ushort)(raw.Length);
                                p.isGateway = this.isGateway;
                                ClientManager.EnterCriticalArea();
                                try
                                {
                                    p.Parse(this.client);
                                }
                                catch (Exception ex)
                                {
                                    Logger.ShowError(ex);
                                }
                                ClientManager.LeaveCriticalArea();
                            }
                            else
                            {
                                string error = "Invalid packet size from client " + sock.RemoteEndPoint.ToString();
                                Console.WriteLine(error);
                                Log.WriteLog(error);
                                this.nlock.ReleaseWriterLock();
                                ClientManager.EnterCriticalArea();
                                this.Disconnect();
                                ClientManager.LeaveCriticalArea();
                                return;
                            }
                        }
                        else
                        {
                            Logger.ShowWarning("Universal Packet 0xFFFF not defined!", null);
                        }
                    }
                }
                try { this.nlock.ReleaseWriterLock(); stream.BeginRead(buffer, 0, 2, this.callbackSize, null); }
                catch (Exception)
                {
                    ClientManager.EnterCriticalArea();
                    this.Disconnect();
                    ClientManager.LeaveCriticalArea();
                    return;
                }
            }
            catch (Exception e) { Logger.ShowError(e, null); }
        }