public Errorhandling(string programname, bool spawnconsole, bool logtofile) { _programname = programname; _spawnconsole = spawnconsole; logger = new Logging(logtofile, spawnconsole); if (spawnconsole) if (Misc_PInvokes.AllocConsole()) logger.log("Succesfully initialized console!", Logging.Priority.Notice); Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); logger.log("Initialized errorhandling class. CedLib version: " + Globals.version + "|Errorhandler version: " + errorhandlerversion + " Listening to master program: " + programname, Logging.Priority.Info); #if (DEBUG) logger.log("This is a debug version. It might run a bit slower and it has some debug features (like more verbose logging). make sure you have the correct version!", Logging.Priority.Warning); #endif }
public LogEventArgs(string logitem, Logging.Priority priority) { _logitem = logitem; _priority = priority; }
static void Main(string[] args) { formConsole mainconsole = new formConsole(); mainconsole.Show(); CedLib.Errorhandling errorhandler = new CedLib.Errorhandling("CEDLIB TESTER mainconsole 1.0)", true, true); CedLib.Logging logger = new CedLib.Logging(true, true); mainconsole.WriteLine("Main program writeline"); logger.log("This is a test log entry", CedLib.Logging.Priority.Notice); logger.logerror(new Exception("This is a test exception to test the logerror class")); mainconsole.WriteLine("End for testing errorhandling and logging.\n\n==============\nCommencing testing for networking.\n"); int serverport = 5000; Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); sock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.ReuseAddress, true); if (!CedLib.Networking.socketfunctions.trybindsocket(sock, ref serverport, mainconsole, 50, IPAddress.Any)) { mainconsole.WriteLine(string.Format("Failed to bind to port {0}!", serverport)); } Thread t = new Thread(new ParameterizedThreadStart(SocketServer)); t.Start(sock); Thread.Sleep(1); Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); client.Connect(IPAddress.Loopback, serverport); CedLib.Networking.socketfunctions.sendstring(client, "Ping!"); CedLib.Networking.socketfunctions.waitfordata(client, 10000, mainconsole); mainconsole.WriteLine(string.Format("Send 'Ping!', got back: {0}", CedLib.Networking.socketfunctions.receivestring(client, false))); mainconsole.WriteLine("Commencing filetransfer test"); CedLib.Networking.socketfunctions.sendfile(client, new System.IO.FileInfo("input.kaas"), mainconsole); mainconsole.WriteLine("-------------------------"); mainconsole.WriteLine("Commencing byte transfer test"); CedLib.Globals.chunksize = 65536; mainconsole.WriteLine("Set chunksize to " + CedLib.Globals.chunksize); client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); client.Connect(IPAddress.Loopback, serverport); CedLib.Networking.socketfunctions.sendstring(client, "kaas"); CedLib.Networking.socketfunctions.waitfordata(client, 30000, mainconsole); CedLib.Networking.CedLibContentheader cHeader = CedLib.Networking.socketfunctions.ParseContentHeader(CedLib.Networking.socketfunctions.receivestring(client,mainconsole)); System.IO.MemoryStream memstream = CedLib.Networking.socketfunctions.receivebytes(client, cHeader, mainconsole); misc_usefulfunctions.picform pictureform = new misc_usefulfunctions.picform(memstream); pictureform.ShowDialog(); Console.WriteLine("--------------------"); Console.WriteLine("Commencing XML persistency test"); CedLib.Persistence.XMLPersistenceDictionary.XMLPersistenceDictionary persistence = new CedLib.Persistence.XMLPersistenceDictionary.XMLPersistenceDictionary(logger); //Works!! persistence.Add("test", "testvaluefennecs"); persistence["test"].Add("test", "fennecs"); if (!persistence.ContainsKey("test")) throw new Exception("XML test failed! Dictionary did not properly detect present key!"); if(persistence.ContainsKey("fennecs")) throw new Exception("XML test failed! Dictionary did not properly detect nonpresent key!"); if (!persistence.ContainsValue("testvaluefennecs")) throw new Exception("XML test failed! Dictionary did not properly detect present value!"); if(persistence.ContainsValue("test")) throw new Exception("XML test failed! Dictionary did not properly detect nonpresent value!"); Console.WriteLine(persistence["test"].obj); foreach (var snode in persistence) { Console.Write("Contents: " + snode.obj); foreach (var item in snode.childnodes) { Console.Write("Contents: " + item.obj); } } Console.WriteLine("\nSaving dictionary"); persistence.save("test.xml"); persistence = null; Console.WriteLine("Nullified dictionary"); persistence = new CedLib.Persistence.XMLPersistenceDictionary.XMLPersistenceDictionary(); persistence.load("test.xml"); Console.WriteLine("Loaded dictionary"); if (persistence["test"].obj != "testvaluefennecs") { logger.logerror(new Exception("XML test failed!! Expected 'testvaluefennecs', got: " + persistence["test"].obj)); } else Console.WriteLine("XML test success!"); }