예제 #1
0
        public void WriteToLog(ILogManager logManager)
        {
            // Enumerate over the input file counters and total up all the matched and unmatched totals.
              UInt32 matchedTotal = 0, unmatchedTotal = 0;
              PerformActionOverInputFileCounters((i) =>
              {
            matchedTotal += i.Matched;
            unmatchedTotal += i.Unmatched;
              });

              logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) processed.", matchedTotal + unmatchedTotal));

              if (matchedTotal + unmatchedTotal == 0)
              {
            // No records processed so nothing more to report.
            return;
              }

              logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) matched.", matchedTotal));
              logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) not matched.", unmatchedTotal));

              // Enumerate over the input file counters and write out the individual totals to the log.
              PerformActionOverInputFileCounters((i) =>
              {
            logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) processed from input file {1}.", i.Matched + i.Unmatched, i.FilePath));
            logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) matched from input file {1}.", i.Matched, i.FilePath));
            logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) not matched from input file {1}.", i.Unmatched, i.FilePath));
              });

              // Enumerate over the output file counters and write out the individual totals to the log.
              foreach (var outputFileCounter in this.outputFileCounters.Values)
              {
            logManager.WriteImportantMessageToJobLog(String.Format("{0} Record(s) written to output file {1}.", outputFileCounter.Total, outputFileCounter.FilePath));
              }
        }