public ToFileAuditLogger(ToFileAuditLoggerConfig config, IMyDirectory myDirectory, IMyFile myFile, IMyDateTime myDateTime, IOldLogCleaner oldLogCleaner) { Contract.Requires <ArgumentNullException>(config != null, "options"); Contract.Requires <ArgumentNullException>(myDirectory != null, "myDirectory"); Contract.Requires <ArgumentNullException>(myFile != null, "myFile"); Contract.Requires <ArgumentNullException>(myDateTime != null, "myDateTime"); Contract.Requires <ArgumentNullException>(oldLogCleaner != null, "oldLogCleaner"); Contract.Requires <EnvCryptException>(config.NumberOfDaysSinceCreationToKeep >= 1, "number of days to keep audit log files must be >= 1"); Contract.Requires <EnvCryptException>(!string.IsNullOrWhiteSpace(config.FileNameFormat), "filename format cannot be empty"); Contract.Requires <EnvCryptException>(!string.IsNullOrWhiteSpace(config.LogDirectory), "log directory cannot be empty"); // _config = config; _myDirectory = myDirectory; _myFile = myFile; _myDateTime = myDateTime; _oldLogCleaner = oldLogCleaner; }
public static IAuditLogger <TKey, TWorkflowOptions> GetToFileAuditLogger <TKey, TWorkflowOptions>(ToFileAuditLoggerConfig config) where TKey : KeyBase where TWorkflowOptions : DecryptPlainTextEntryWorkflowOptions { Contract.Requires <ArgumentNullException>(config != null, "config"); // var myDir = new MyDirectory(); var myFile = new MyFile(); return(new ToFileAuditLogger <TKey, TWorkflowOptions>(config, myDir, myFile, new MyDateTime(), new OldLogCleaner(new ToFileAuditLoggerConfig(), myDir, myFile, new MyFileInfoFactory()))); }