我正在开发创建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