Ejemplo n.º 1
0
        void ProcessLogs<TLogItem>(string serverName, string siteName, string defaultHost, string connectionString, string tableName, string[] files) where TLogItem : LogItem
        {
            var parserLoader = new LogParserLoader<TLogItem>(serverName, siteName, defaultHost);
            using (var bulkPushService = new SqlQueuedBulkPushService<TLogItem>(connectionString, tableName, batch_size) { SynchronousBatches = true, TimerDisabled = true })
            {
                foreach (var file in files)
                {
                    var parser = parserLoader.LoadFile(file);
                    var counter = 0;

                    do
                    {
                        var logs = parser.ReadNext(1000);
                        bulkPushService.AddRange(logs);
                        counter += parser.LinesRead;
                    }
                    while (parser.LinesRead > 0);
                    Console.WriteLine($"[{file}]: {counter}");
                    totalCounter += counter;
                }
            }
        }
Ejemplo n.º 2
0
 public SqlBulkLogging()
 {
     _bulkPushService = new SqlQueuedBulkPushService <SqlFtpLogEntry>("Server=localhost;Database=IISLogs;Integrated Security=true;", "flexlabs.IIS_FtpLogs", 1000);
 }