Primeramente en el proyecto que usemos para almacenar las clases utilitarias creamos una nueva o reutilizamos alguna afín. Creamos un método que invocar cuando queramos usar para registrar los mensajes. En la clase que usemos debemos incluir el siguiente import
using System.IO;
y en el método lo siguiente:
String rootPath = System.Web.HttpContext.Current.Request.PhysicalApplicationPath; string pathLog = ConfigurationSettings.AppSettings["PATHLOG"]; if (!string.IsNullOrEmpty(pathLog)) { pathLog = Path.Combine(rootPath, pathLog); pathLog = Path.Combine(pathLog, "Log.txt"); if (!File.Exists(pathLog)) { using (StreamWriter sw = File.CreateText(pathLog)) { sw.WriteLine("Archivo creado " + DateTime.Now.ToString()); sw.WriteLine(); } } using (StreamWriter sw = File.AppendText(pathLog)) { sw.WriteLine(""); sw.WriteLine("NUEVO EVENTO______Fecha y Hora:" + DateTime.Now.ToString()); sw.WriteLine(""); sw.WriteLine("DESCRIPCION:"); sw.WriteLine(""); sw.Write(Mensaje); sw.WriteLine(""); } }
Con esta instruccion System.Web.HttpContext.Current.Request.PhysicalApplicationPath encontramos el path fisico donde se encuentra nuestra aplicación web y por medio de Path.Combine vamos formando el path completo donde queremos dejar nuestro archivo.
Por medio del StreamWriter creamos el archivo si no existe (CreateText) y comenzamos a escribir(AppendText) en el mismo. En este ejemplo la variable Mensaje se pasa por parámetro al método con el texto que queremos dejar en nuestro Log.