protected LogOutputAspectBase(EntryType typeOfEntriesToOutput, bool writeAllEntriesIfKeyFound, IEnumerable<string> optionalKey)
{
this.keys = optionalKey == null ? new string[0] : optionalKey.Where(key => !key.IsBlank()).ToArray();
if(writeAllEntriesIfKeyFound && keys.Length == 0)
throw new ArgumentNullException("optionalKey parameter value must be specified when writeAllEntriesIfKeyFound = true.");
this.entryTypeFilter = typeOfEntriesToOutput;
this.writeAllEntriesIfKeyFound = writeAllEntriesIfKeyFound;
}