Пример #1
0
        public void Test11()
        {
            // 没什么具体意义,只是为了覆盖代码

            LogConfig config = GetCloneConfig();

            config.Types = new TypeItemConfig[1];

            TypeItemConfig tc = new TypeItemConfig();

            tc.DataType     = null;                 // 会引发异常
            config.Types[0] = tc;

            ConfigLoader loader = new ConfigLoader();

            loader.Load(config, new Hashtable());
        }
Пример #2
0
        public void Test14()
        {
            // 没什么具体意义,只是为了覆盖代码

            LogConfig config = GetCloneConfig();

            config.Types = new TypeItemConfig[1];

            TypeItemConfig tc = new TypeItemConfig();

            tc.DataType     = "ClownFish.Log.Model.ExceptionInfo, ClownFish.Log";
            tc.Writers      = "abc";                // 会引发异常
            config.Types[0] = tc;

            ConfigLoader loader = new ConfigLoader();

            loader.Load(config, new Hashtable());
        }
Пример #3
0
        //[TestMethod]
        public void CreaetFile()
        {
            string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ClownFish.Log.config");


            LogConfig config = new LogConfig();

            config.Enable      = true;
            config.Writers     = new WriterSection[5];
            config.TimerPeriod = 100;

            WriterSection file = new WriterSection();

            file.Name       = "File";
            file.Type       = "ClownFish.Log.Serializer.FileWriter, ClownFish.Log";
            file.Options    = new WriterOption[1];
            file.Options[0] = new WriterOption {
                Key = "RootDirectory", Value = "Log"
            };
            config.Writers[0] = file;

            WriterSection mail = new WriterSection();

            mail.Name       = "Mail";
            mail.Type       = "ClownFish.Log.Serializer.MailWriter, ClownFish.Log";
            mail.Options    = new WriterOption[1];
            mail.Options[0] = new WriterOption {
                Key = "Receivers", Value = "*****@*****.**"
            };
            config.Writers[1] = mail;

#if _MongoDB_
            WriterSection mongodb = new WriterSection();
            mongodb.Name       = "MongoDb";
            mongodb.Type       = "ClownFish.Log.Serializer.MongoDbWriter, ClownFish.Log";
            mongodb.Options    = new WriterOption[1];
            mongodb.Options[0] = new WriterOption {
                Key = "ConnectionString", Value = "mongodb://10.5.106.100/Test?connectTimeout=5s;socketTimeout=5s"
            };
            config.Writers[2] = mongodb;
#endif

            WriterSection msmq = new WriterSection();
            msmq.Name       = "Msmq";
            msmq.Type       = "ClownFish.Log.Serializer.MsmqWriter, ClownFish.Log";
            msmq.Options    = new WriterOption[1];
            msmq.Options[0] = new WriterOption {
                Key = "RootPath", Value = @".\private$\ClownFish-Log-test"
            };
            config.Writers[3] = msmq;


            WriterSection winlog = new WriterSection();
            winlog.Name       = "WinLog";
            winlog.Type       = "ClownFish.Log.Serializer.WinLogWriter, ClownFish.Log";
            winlog.Options    = new WriterOption[2];
            winlog.Options[0] = new WriterOption {
                Key = "LogName", Value = "ClownFish-Log"
            };
            winlog.Options[1] = new WriterOption {
                Key = "SourceName", Value = "ClownFish-Log-Message"
            };
            config.Writers[4] = winlog;


            config.Types = new TypeItemConfig[2];
            TypeItemConfig t1 = new TypeItemConfig();
            t1.DataType     = "ClownFish.Log.Model.ExceptionInfo, ClownFish.Log";
            t1.Writers      = "MongoDb,File";
            config.Types[0] = t1;

            TypeItemConfig t2 = new TypeItemConfig();
            t2.DataType     = "ClownFish.Log.Model.PerformanceInfo, ClownFish.Log";
            t2.Writers      = "MongoDb";
            config.Types[1] = t2;

            config.Performance = new PerformanceConfig();
            config.Performance.DbExecuteTimeout   = 3;
            config.Performance.HttpExecuteTimeout = 3;

            config.ExceptionWriter = "WinLog";

            XmlHelper.XmlSerializeToFile(config, filePath, Encoding.UTF8);

            Console.WriteLine("Create Config file OK.");
        }