本文整理汇总了C#中ICreateFileParameters类的典型用法代码示例。如果您正苦于以下问题:C# ICreateFileParameters类的具体用法?C# ICreateFileParameters怎么用?C# ICreateFileParameters使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ICreateFileParameters类属于命名空间,在下文中一共展示了ICreateFileParameters类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BaseFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseFileAppender(string fileName, ICreateFileParameters createParameters)
{
this.CreateFileParameters = createParameters;
this.FileName = fileName;
this.OpenTime = DateTime.UtcNow; // to be consistent with timeToKill in FileTarget.AutoClosingTimerCallback
this.LastWriteTime = DateTime.MinValue;
}
示例2: MutexMultiProcessFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="MutexMultiProcessFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="parameters">The parameters.</param>
public MutexMultiProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
try
{
this.mutex = CreateSharableMutex("FileLock");
this.fileStream = CreateFileStream(true);
this.fileCharacteristicsHelper = FileCharacteristicsHelper.CreateHelper(parameters.ForceManaged);
}
catch
{
if (this.mutex != null)
{
this.mutex.Close();
this.mutex = null;
}
if (this.fileStream != null)
{
this.fileStream.Close();
this.fileStream = null;
}
throw;
}
}
示例3: BaseFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseFileAppender(string fileName, ICreateFileParameters createParameters)
{
this.CreateFileParameters = createParameters;
this.FileName = fileName;
this.OpenTime = CurrentTimeGetter.Now;
this.LastWriteTime = DateTime.MinValue;
}
示例4: MutexMultiProcessFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="MutexMultiProcessFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="parameters">The parameters.</param>
public MutexMultiProcessFileAppender(string fileName, ICreateFileParameters parameters)
: base(fileName, parameters)
{
try
{
mutex = new Mutex(false, GetMutexName(fileName));
file = CreateFileStream(true);
}
catch
{
if (mutex != null)
{
mutex.Close();
mutex = null;
}
if (file != null)
{
file.Close();
file = null;
}
throw;
}
}
示例5: UnixMultiProcessFileAppender
public UnixMultiProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
int fd = Syscall.open(fileName, OpenFlags.O_CREAT | OpenFlags.O_WRONLY | OpenFlags.O_APPEND, (FilePermissions)(6 | (6 << 3) | (6 << 6)));
if (fd == -1)
{
if (Stdlib.GetLastError() == Errno.ENOENT && parameters.CreateDirs)
{
string dirName = Path.GetDirectoryName(fileName);
if (!Directory.Exists(dirName) && parameters.CreateDirs)
Directory.CreateDirectory(dirName);
fd = Syscall.open(fileName, OpenFlags.O_CREAT | OpenFlags.O_WRONLY | OpenFlags.O_APPEND, (FilePermissions)(6 | (6 << 3) | (6 << 6)));
}
}
if (fd == -1)
UnixMarshal.ThrowExceptionForLastError();
try
{
this.file = new UnixStream(fd, true);
}
catch
{
Syscall.close(fd);
throw;
}
}
示例6: BaseFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseFileAppender(string fileName, ICreateFileParameters createParameters)
{
this.CreateFileParameters = createParameters;
this.FileName = fileName;
this.OpenTime = TimeSource.Current.Time.ToLocalTime();
this.LastWriteTime = DateTime.MinValue;
}
示例7: BaseMutexFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseMutexFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseMutexFileAppender(string fileName, ICreateFileParameters createParameters)
: base(fileName, createParameters)
{
#if SupportsMutex
ArchiveMutex = CreateArchiveMutex();
#endif
}
示例8: FileAppenderCache
/// <summary>
/// Initializes a new instance of the <see cref="FileAppenderCache"/> class.
/// </summary>
/// <remarks>
/// The size of the list should be positive. No validations are performed during initialisation as it is an
/// intenal class.
/// </remarks>
/// <param name="size">Total number of appenders allowed in list.</param>
/// <param name="appenderFactory">Factory used to create each appender.</param>
/// <param name="createFileParams">Parameters used for creating a file.</param>
public FileAppenderCache(int size, IFileAppenderFactory appenderFactory, ICreateFileParameters createFileParams)
{
Size = size;
Factory = appenderFactory;
CreateFileParameters = createFileParams;
appenders = new BaseFileAppender[Size];
}
示例9: BaseFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseFileAppender(string fileName, ICreateFileParameters createParameters)
{
this.CreateFileParameters = createParameters;
this.FileName = fileName;
this.OpenTime = DateTime.UtcNow; // to be consistent with timeToKill in FileTarget.AutoClosingTimerCallback
this.LastWriteTime = DateTime.MinValue;
this.CaptureLastWriteTime = createParameters.CaptureLastWriteTime;
#if !SILVERLIGHT
this.ArchiveMutex = CreateArchiveMutex();
#endif
}
示例10: FileAppenderCache
/// <summary>
/// Initializes a new instance of the <see cref="FileAppenderCache"/> class.
/// </summary>
/// <remarks>
/// The size of the list should be positive. No validations are performed during initialisation as it is an
/// intenal class.
/// </remarks>
/// <param name="size">Total number of appenders allowed in list.</param>
/// <param name="appenderFactory">Factory used to create each appender.</param>
/// <param name="createFileParams">Parameters used for creating a file.</param>
public FileAppenderCache(int size, IFileAppenderFactory appenderFactory, ICreateFileParameters createFileParams)
{
Size = size;
Factory = appenderFactory;
CreateFileParameters = createFileParams;
appenders = new BaseFileAppender[Size];
#if !SILVERLIGHT && !__IOS__ && !__ANDROID__
externalFileArchivingWatcher.OnChange += ExternalFileArchivingWatcher_OnChange;
#endif
}
示例11: SingleProcessFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="SingleProcessFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="parameters">The parameters.</param>
public SingleProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
var fi = new FileInfo(fileName);
if (fi.Exists)
{
this.FileTouched(fi.LastWriteTime);
}
else
{
this.FileTouched();
}
this.file = CreateFileStream(false);
}
示例12: BaseMutexFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="BaseMutexFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="createParameters">The create parameters.</param>
public BaseMutexFileAppender(string fileName, ICreateFileParameters createParameters)
: base(fileName, createParameters)
{
#if SupportsMutex
try
{
ArchiveMutex = CreateArchiveMutex();
}
catch (SecurityException ex)
{
InternalLogger.Warn(ex, "Failed to create archive mutex");
}
#endif
}
示例13: WindowsMultiProcessFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="WindowsMultiProcessFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="parameters">The parameters.</param>
public WindowsMultiProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
try
{
CreateAppendOnlyFile(fileName);
fileCharacteristicsHelper = FileCharacteristicsHelper.CreateHelper(parameters.ForceManaged);
}
catch
{
if (fileStream != null)
fileStream.Dispose();
fileStream = null;
throw;
}
}
示例14: CountingSingleProcessFileAppender
public CountingSingleProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
FileInfo fi = new FileInfo(fileName);
if (fi.Exists)
{
FileTouched(fi.LastWriteTime);
_fileLength = fi.Length;
}
else
{
FileTouched();
_fileLength = 0;
}
_file = CreateFileStream(false);
}
示例15: SingleProcessFileAppender
/// <summary>
/// Initializes a new instance of the <see cref="SingleProcessFileAppender" /> class.
/// </summary>
/// <param name="fileName">Name of the file.</param>
/// <param name="parameters">The parameters.</param>
public SingleProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters)
{
if (CaptureLastWriteTime)
{
var fileInfo = new FileInfo(fileName);
if (fileInfo.Exists)
{
FileTouched(fileInfo.GetLastWriteTimeUtc());
}
else
{
FileTouched();
}
}
this.file = CreateFileStream(false);
}