/// <summary> /// Gets the information about a file. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="fileHandle">The file handle.</param> /// <returns>The file characteristics, if the file information was retrieved successfully, otherwise null.</returns> public override FileCharacteristics GetFileCharacteristics(string fileName, IntPtr fileHandle) { var fileInfo = new FileInfo(fileName); if (fileInfo.Exists) { return new FileCharacteristics(fileInfo.GetCreationTimeUtc(), fileInfo.GetLastWriteTimeUtc(), fileInfo.Length); } else return null; }
/// <summary> /// Gets the information about a file. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="fileStream">The file stream.</param> /// <returns>The file characteristics, if the file information was retrieved successfully, otherwise null.</returns> public override FileCharacteristics GetFileCharacteristics(string fileName, FileStream fileStream) { if (!string.IsNullOrEmpty(fileName)) { var fileInfo = new FileInfo(fileName); if (fileInfo.Exists) { return new FileCharacteristics(fileInfo.GetCreationTimeUtc(), fileInfo.GetLastWriteTimeUtc(), fileInfo.Length); } } return null; }
/// <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); }
/// <summary> /// Initializes a new instance of the <see cref="CountingSingleProcessFileAppender" /> class. /// </summary> /// <param name="fileName">Name of the file.</param> /// <param name="parameters">The parameters.</param> public CountingSingleProcessFileAppender(string fileName, ICreateFileParameters parameters) : base(fileName, parameters) { var fileInfo = new FileInfo(fileName); if (fileInfo.Exists) { if (CaptureLastWriteTime) { FileTouched(fileInfo.GetLastWriteTimeUtc()); } this.currentFileLength = fileInfo.Length; } else { FileTouched(); this.currentFileLength = 0; } this.file = this.CreateFileStream(false); }
public DateTime? GetFileLastWriteTimeUtc(string filePath, bool fallback) { var appender = GetAppender(filePath); DateTime? result = null; if (appender != null) { try { result = appender.GetFileLastWriteTimeUtc(); } catch (Exception ex) { InternalLogger.Error(ex, "Failed to get last write time for file '{0}'.", appender.FileName); InvalidateAppender(appender.FileName); throw; } } if (result == null && fallback) { var fileInfo = new FileInfo(filePath); if (fileInfo.Exists) { return fileInfo.GetLastWriteTimeUtc(); } } return result; }
public DateTime? GetFileLastWriteTimeUtc(string filePath, bool fallback) { var appender = GetAppender(filePath); DateTime? result = null; if (appender != null) result = appender.GetFileLastWriteTimeUtc(); if (result == null && fallback) { var fileInfo = new FileInfo(filePath); if (fileInfo.Exists) { return fileInfo.GetLastWriteTimeUtc(); } } return result; }
/// <summary> /// Gets the last time the file associated with the appeander is written. The time returned is in Coordinated /// Universal Time [UTC] standard. /// </summary> /// <returns>The time the file was last written to.</returns> public override DateTime? GetFileLastWriteTimeUtc() { FileInfo fileInfo = new FileInfo(FileName); if (fileInfo.Exists) { return fileInfo.GetLastWriteTimeUtc(); } return null; }