public void DatebaseLogAndStatus() { IocExtension.ServiceCollection.AddSingleton <IMonitorService, NLogMonitor>(); string id = Guid.NewGuid().ToString("N"); string taskGroup = Guid.NewGuid().ToString("N"); string userId = Guid.NewGuid().ToString("N"); string connectString = "Database='test';Data Source=localhost;User ID=root;Password=1qazZAQ!;Port=3306"; Configuration.SetValue("logAndStatusConnectString", connectString); Assert.Equal("Database='test';Data Source=localhost;User ID=root;Password=1qazZAQ!;Port=3306", Configuration.GetValue("logAndStatusConnectString")); LogManagerHelper.InitLogManager(true); using (Spider spider = Spider.Create(new Site { EncodingName = "UTF-8", MinSleepTime = 1000 }, id, userId, taskGroup, new TestPageProcessor(), new QueueDuplicateRemovedScheduler())) { spider.AddPipeline(new TestPipeline()).SetThreadNum(1); for (int i = 0; i < 5; i++) { spider.AddStartUrl("http://www.baidu.com/" + i); } SpiderMonitor.Register(spider); spider.Run(); } using (MySqlConnection conn = new MySqlConnection(connectString)) { Assert.Equal(1, conn.Query <CountResult>($"SELECT COUNT(*) as Count FROM dotnetspider.status where userid='{userId}' and taskgroup='{taskGroup}' and identity='{id}'").First().Count); Assert.Equal(7, conn.Query <CountResult>($"SELECT COUNT(*) as Count FROM dotnetspider.log where userid='{userId}' and taskgroup='{taskGroup}' and identity='{id}'").First().Count); } }
public string GetBrokerLog(bool archive) { return(LogManagerHelper.GetBrokerLog(archive)); }