Есть класс записи в лог файл
public class Log
{
private static StreamWriter w;
static Log()
{
HttpContext context = HttpContext.Current;
w = new StreamWriter( new FileStream( context.Request.MapPath("~/Log/logfile.log"), FileMode.OpenOrCreate, FileAccess.Write ), Encoding.GetEncoding("windows-1251"));
w.AutoFlush = true;
}
public static void WriteToLog( string s )
{
string logstr = String.Format("{0} {1} {2}", DateTime.Now.ToString(), HttpContext.Current.Request.UserHostAddress, s );
if ( w != null)
{
w.WriteLine( logstr );
}
}
public static void Close()
{
if (w != null)
w.Close();
}
}
Вызываю его в любом методе так:
Log.WriteToLog(...), конструктор по идеи сам проинициализируется и при последующих вызовах WriteToLog уже не вызывается.
Вылазит ошибка, мол, access denied к файлу. В сообщении говорится, что у ASP.NET нет прав для ресурса.
Как правильно выставить права? Сделать права для ASP.NET для записи в папке Log ?
|