Example #1
0
        public void TestMultithreadingLogWriter()
        {
            CustomLogger.DeleteAllRootFilesAndFolders();
            // CustomFileWriter.DeleteAllRootFilesAndFolders();
            Stopwatch sw = new Stopwatch();

            sw.Start();
            Trace.WriteLine("Stop Watch Started");


            for (int i = 0; i < 1000; i++)
            {
                System.Threading.Thread t1 = new System.Threading.Thread(() => {
                    CustomLogger _wr = new CustomLogger();
                    _wr.AppendLog($"This is first line of log");
                    //var a = rd.Next(0, 5);
                    //var b = 5 / a;
                    _wr.AppendLog($"This is second line of log for");
                });

                t1.Start();
            }


            //Random rd = new Random();
            //Parallel.For(0, 1000, (index) =>
            //{
            //    CustomLogger _wr = new CustomLogger();
            //    _wr.AppendLog($"This is first line of log for '{index}'");
            //    //var a = rd.Next(0, 5);
            //    //var b = 5 / a;
            //    _wr.AppendLog($"This is second line of log for '{index}'");

            //    //CustomFileWriter.Log($"Test Message '{index}'", Guid.NewGuid().ToString());
            //    //_wr.CommitLog();
            //});

            Trace.WriteLine("Cursor moves to Test 2");

            //Parallel.For(0, 1000, (index) =>
            //{
            //    CustomTextFileLogger _wr = new CustomTextFileLogger();
            //    _wr.AppendLog($"This is first line of log for '{index}'");
            //    _wr.AppendLog($"This is second line of log for '{index}'");
            //    _wr.AppendLog("Test 2");
            //    //CustomFileWriter.Log($"Test Message '{index}'", Guid.NewGuid().ToString());
            //    _wr.CommitLog();
            //});

            //Trace.WriteLine("Cursor moves to Test 3");

            //Parallel.For(0, 1000, (index) =>
            //{
            //    CustomTextFileLogger _wr = new CustomTextFileLogger();
            //    _wr.AppendLog($"This is first line of log for '{index}'");
            //    _wr.AppendLog($"This is second line of log for '{index}'");
            //    //CustomFileWriter.Log($"Test Message '{index}'", Guid.NewGuid().ToString());
            //    _wr.AppendLog("Test 1");
            //    _wr.CommitLog();
            //});

            sw.Stop();
            Trace.WriteLine($"Stop watch ended with elapsed time of total {sw.ElapsedMilliseconds} milliseconds");
        }