public static void CheckListener() { string environmentVariable = "%USERPROFILE%"; string fileName = Path.Combine(environmentVariable, "test.log"); RollingFlatFileTraceListener listener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "", RollFileExistsBehavior.Increment, RollInterval.Day); listener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 1, "This is a test"); listener.Dispose(); }
public void RollingFlatFileTraceListenerReplacedEnviromentVariablesWillFallBackIfNotPrivilegesToRead() { string environmentVariable = "%USERPROFILE%"; string fileName = Path.Combine(environmentVariable, "foo.log"); EnvironmentPermission denyPermission = new EnvironmentPermission(PermissionState.Unrestricted); denyPermission.Deny(); try { RollingFlatFileTraceListener listener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "", RollFileExistsBehavior.Increment, RollInterval.Day); listener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 1, "This is a test"); listener.Dispose(); } finally { EnvironmentPermission.RevertAll(); } Assert.Fail("Permission was not denied."); }
public void RollingFlatFileTraceListenerReplacedInexistingEnviromentVariables() { string fileName = @"%FOO%\%MY_VARIABLE%\foo.log"; RollingFlatFileTraceListener listener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "", RollFileExistsBehavior.Increment, RollInterval.Day); listener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 1, "This is a test"); listener.Dispose(); string fileNameFromListener = string.Empty; string expandedFileName = EnvironmentHelper.ReplaceEnvironmentVariables(fileName); string expectedFileName = Path.GetFileName(expandedFileName); bool result = File.Exists(expandedFileName); Assert.IsTrue(result); File.Delete(expandedFileName); Assert.AreEqual(expectedFileName, expandedFileName); }
public void RollingFlatFileTraceListenerReplacedEnviromentVariables() { string fileName = @"%USERPROFILE%\foo.log"; string fileNameFromListener = string.Empty; RollingFlatFileTraceListener listener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "", RollFileExistsBehavior.Increment, RollInterval.Day); listener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 1, "This is a test"); listener.Dispose(); string expandedFileName = Environment.ExpandEnvironmentVariables(fileName); bool result = File.Exists(expandedFileName); Assert.IsTrue(result); using (FileStream stream = File.Open(expandedFileName, FileMode.Open)) { fileNameFromListener = stream.Name; } File.Delete(expandedFileName); Assert.AreEqual(expandedFileName, fileNameFromListener); }
public void WillRollExistingFileIfOverDateThreshold() { string existingPayload = new string('c', 10); DateTime currentDateTime = new DateTime(2007, 1, 1); File.WriteAllText(fileName, existingPayload); File.SetCreationTime(fileName, currentDateTime); using (RollingFlatFileTraceListener traceListener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "yyyy", RollFileExistsBehavior.Overwrite, RollInterval.Day)) { traceListener.RollingHelper.DateTimeProvider = dateTimeProvider; dateTimeProvider.currentDateTime = currentDateTime.AddDays(2); traceListener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 0, "logged message"); } Assert.AreEqual(existingPayload, File.ReadAllText(fileNameWithoutExtension + ".2007" + extension)); Assert.IsTrue(File.ReadAllText(fileName).Contains("logged message")); }
public void WillTruncateExistingFileIfOverSizeThresholdAndNoPatternIsSpecifiedForOverwriteBehavior() { string existingPayload = new string('c', 5000); DateTime currentDateTime = new DateTime(2007, 1, 1); File.WriteAllText(fileName, existingPayload); File.SetCreationTime(fileName, currentDateTime); using (RollingFlatFileTraceListener traceListener = new RollingFlatFileTraceListener(fileName, "header", "footer", null, 1, "", RollFileExistsBehavior.Overwrite, RollInterval.None)) { traceListener.RollingHelper.DateTimeProvider = dateTimeProvider; dateTimeProvider.currentDateTime = currentDateTime; traceListener.TraceData(new TraceEventCache(), "source", TraceEventType.Error, 0, "logged message"); } Assert.IsFalse(File.ReadAllText(fileName).Contains(existingPayload)); Assert.IsTrue(File.ReadAllText(fileName).Contains("logged message")); }