我正在開發創建2個日誌文件(.txt文件)的c#中的應用程序:一個用於錯誤,另一個用於用戶進行的修改。這兩個文件是用log4net創建的。我看到的問題是這個文件可以被編輯,並且被錯誤地修改。使用Log4Net創建ReadOnly日誌文件
我想將這些文件設置爲只讀,並且該log4net仍然可以寫入它們。因爲如果我只是更改文件中的屬性,則不會寫入下一個日誌。
有一種方法可以做到這一點?
此外,應用程序可以打開該用戶從應用程序中的日誌文件。對於我使用下面的代碼:
System.IO.FileInfo finfo = new System.IO.FileInfo("path");
if (finfo.Exists)
{
//finfo.Attributes = System.IO.FileAttributes.ReadOnly;
// I don't use the previous line at the moment, because it blocks the followings logs.
System.Diagnostics.Process.Start("path");
}
這是創建和調用記錄器的代碼:
public static class CLogger
{
private static readonly ILog logger = LogManager.GetLogger(typeof(CLogger));
static CLogger()
{
XmlConfigurator.Configure(new System.IO.FileInfo("path to .config file"));
}
public static void WriteLog(ELogLevel logLevel, String log)
{
if (logLevel.Equals(ELogLevel.DEBUG))
{
logger.Debug(log);
}
else if (logLevel.Equals(ELogLevel.ERROR))
.
.
.
else if (logLevel.Equals(ELogLevel.WARN))
{
logger.Warn(log);
}
}
}
調用的記錄:
CLogger.WriteLog(ELogLevel.ERROR, ex.ToString());
可能有[使用Log4Net創建ReadOnly日誌文件並單獨登錄2個文件]的副本(http://stackoverflow.com/questions/5117927/create-a-readonly-log-file-with-log4net-and-單獨登錄2個文件) – 2011-03-01 10:05:00