Exemplo n.º 1
0
        private static void Run(Options options)
        {
            try
            {
                LogReader reader = options.Type switch
                {
                    LogType.S3 => new S3LogReader(),
                    LogType.CloudFront => new CloudFrontLogReader(),
                    _ => throw new ArgumentOutOfRangeException(nameof(options.Type), "Unrecognised log file type."),
                };
                LogWriter writer    = new FileLogWriter(options.OutputDirectory, options.OverwriteExistingFiles, options.GZip);
                LogMerger logMerger = new LogMerger(reader, writer, options.AddHeaders);

                logMerger.Merge(options.SourceDirectory, options.OutputPeriod);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
                Environment.Exit(2);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LogMerger"/> class with the given reader and writer strategies.
 /// </summary>
 /// <param name="reader">The log reader strategy.</param>
 /// <param name="writer">The log writer strategy.</param>
 public LogMerger(LogReader reader, LogWriter writer, bool addHeaders)
 {
     _reader     = reader;
     _writer     = writer;
     _addHeaders = addHeaders;
 }