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()); }
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()); }
//[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."); }