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); }
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); } }
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 { } }
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); } }
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); }
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()); } }
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)); }
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); } }
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); } }
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 { } }
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); } }