Пример #1
0
        public void FilePathNotNull()
        {
            const string path   = "testPath.test";
            var          tested = new JsonFileLogger(path);

            Assert.Contains(path, tested.PathToLog);
        }
Пример #2
0
        public void AppendTest()
        {
            var myPath = $"{typeof(JsonFileLoggerTest).Namespace}.{nameof(AppendTest)}.json";

            try
            {
                var testedFileLogger = new JsonFileLogger(myPath);
                var expectedError1   = new Exception("test1");
                var expectedError2   = "test2";
                var expectedWarning  = "test3";
                var expectedinfo     = "test4";
                testedFileLogger.LogError(expectedError1);
                testedFileLogger.LogError(expectedError2);
                testedFileLogger.LogWarning(expectedWarning);
                testedFileLogger.LogInfo(expectedinfo);
                var received = File.ReadAllText(myPath);
                Assert.True(File.Exists(myPath));
                Assert.Contains(expectedError1.Message, received);
                Assert.Contains(expectedError2, received);
                Assert.Contains(expectedWarning, received);
                Assert.Contains(expectedinfo, received);
                Assert.Contains(MessageSeverity.Error.ToString(), received);
                Assert.Contains(MessageSeverity.Information.ToString(), received);
                Assert.Contains(MessageSeverity.Warning.ToString(), received);
            }
            finally
            {
                File.Delete(myPath);
            }
        }
Пример #3
0
        public void JsonLoggerCreate()
        {
            var myPath = $"{typeof(JsonFileLoggerTest).Namespace}.{nameof(JsonLoggerCreate)}.json";

            try
            {
                var tested = new JsonFileLogger();

                var testedFileLogger = new JsonFileLogger(myPath);
                testedFileLogger.LogInfo("test70113");
                Assert.True(File.Exists(myPath));
                Assert.Equal(".json", Path.GetExtension(testedFileLogger.OutputFile.Name));
            }
            finally
            {
                File.Delete(myPath);
            }
        }
Пример #4
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Hello in JSON logger test harness! " +
                              "This is the load test. The file logger will be spammed with the number of messages (random GUIDs) you choose from multiple threads.");
            Console.Write("Please enter number of messages to spam with: ");
            var validInteger = GetNaturalInt();

            if (validInteger > 100000)
            {
                Console.Write(" This can take a while:)");
            }
            Console.WriteLine();
            var file = new FileInfo(Path.ChangeExtension(Path.GetRandomFileName(), "json"));

            Console.WriteLine($"The contents will be written to {file.FullName}.");

            var fileLogger = new JsonFileLogger(file.FullName);
            var watch      = Stopwatch.StartNew();

            Parallel.For(0, validInteger, x =>
            {
                fileLogger.LogInfo(Guid.NewGuid().ToString());
            });
            watch.Stop();
            Console.WriteLine($"Finished in {watch.Elapsed}");// with {wrapper.FailedDequeues} failures, after {wrapper.LogRequests} log requests");

            Console.WriteLine("Open file? y/n");
            var key = Console.ReadKey();

            if (key.KeyChar == 'y')
            {
                using (var process = Process.Start(new ProcessStartInfo {
                    FileName = fileLogger.OutputFile.FullName, UseShellExecute = true
                }))
                { }
            }
            Console.WriteLine();
            Console.WriteLine("Delete file? y/n");
            key = Console.ReadKey();
            if (key.KeyChar == 'y')
            {
                fileLogger.OutputFile.Delete();
            }
        }
Пример #5
0
        public void LogError1()
        {
            var myPath = $"{typeof(JsonFileLoggerTest).Namespace}.{nameof(LogError1)}.json";

            try
            {
                var testedFileLogger = new JsonFileLogger(myPath);
                var expected         = "test";
                testedFileLogger.LogError(expected);
                var received = File.ReadAllText(myPath);
                Assert.True(File.Exists(myPath));
                Assert.Contains(expected, received);
                Assert.Contains(MessageSeverity.Error.ToString(), received);
            }
            finally
            {
                File.Delete(myPath);
            }
        }
Пример #6
0
        /// <summary>
        /// 对外不能创建类的实例
        /// </summary>
        private LoggerFactory()
        {
            string type = "file";

            if (ConfigManager.Config != null)
            {
                type = ConfigManager.Config.Logger.Type.ToLower();
            }

            switch (type)
            {
            case "file":
                iLogger = new NormalLogger();
                break;

            case "log4net":
                iLogger = new Log4Logger();
                break;

            case "mongodb":
                iLogger = new MongoLogger();
                break;

            case "catlogger":
                iLogger = new CatLogger();
                break;

            case "jsonfile":
                iLogger = new JsonFileLogger();
                break;

            default:
                iLogger = new EmptyLogger();
                break;
            }
        }
Пример #7
0
        public void FlushAutoAlwaysReturnsFalse()
        {
            var tested1 = new JsonFileLogger();

            Assert.True(tested1.FlushAuto);
        }
Пример #8
0
        public void DefaultExtensionTest1()
        {
            var tested1 = new JsonFileLogger();

            Assert.True(tested1.PathToLog.EndsWith(".json"), $"{tested1.PathToLog} does not end with \".json\"");
        }
Пример #9
0
        public void IsThreadSafeAlwaysReturnsTrue()
        {
            var tested1 = new JsonFileLogger();

            Assert.True(tested1.IsThreadSafe);
        }