Forums Últimos mensajes - Powered by IBM
 

Error al escribir un archivo de Log

12/12/2007 - 17:45 por Jose Enrique | Informe spam
Tengo una página ASP que mientras se procesa antes de visualizarse escribe
una serie de logs.
A veces (no siempre) en uno de los pcs que intentan visualizar la página
sale un mensaje de error del tipo: "Acceso denegado".
Yo creo quee es porque dos sesiones intentan escribir al mismo tiempo el
fichero. El nombre del fichero lo formo con la fechahora actual de llamada a
la página y
uso:

mifecha=Replace(mifecha,"/","_")
'creamos el nombre del archivo
archivo=Server.MapPath("\fidelity\Trazas\Form_"&mifecha&".log")
'conectamos con el FSO
set confile = createObject("scripting.filesystemobject")
'creamos el objeto TextStream
set fich = confile.OpenTextFile(archivo,8,true)
fich.writeline("Estado:" & estado)

Yo es que estoy un poco verde en ASP, ¿cual creis que es mi fallo? ¿cual
sería la mejor opción?
 

Leer las respuestas

#1 ¥-- Lombar --¥
12/12/2007 - 18:31 | Informe spam
El error es el que tu justamente comentas, que no puedes escribir al tiempo
dos lineas distintas en eel mismo fichero.
Algo mas sencillo lo sufrí yo hace años guardando el contador en un txt.

La forma de solucionarlo es muy sencilla: Generate una base de datos donde
vas almacenando el log diario. Por otro lado un sencillo ASP te lee la base
cuando quieres y te da un reporte como el que ahora obtienes. La ventaja de
este metodo es que puedes escribir las entradas simultaneamente.


¥-- Lombar --¥
Jose Lombardia

Visita mi blog:
Comer y Rodar
www.lombar.com

"Jose Enrique" escribió en el mensaje de noticias
news:
Tengo una página ASP que mientras se procesa antes de visualizarse escribe
una serie de logs.
A veces (no siempre) en uno de los pcs que intentan visualizar la página
sale un mensaje de error del tipo: "Acceso denegado".
Yo creo quee es porque dos sesiones intentan escribir al mismo tiempo el
fichero. El nombre del fichero lo formo con la fechahora actual de llamada
a
la página y
uso:

mifecha=Replace(mifecha,"/","_")
'creamos el nombre del archivo
archivo=Server.MapPath("\fidelity\Trazas\Form_"&mifecha&".log")
'conectamos con el FSO
set confile = createObject("scripting.filesystemobject")
'creamos el objeto TextStream
set fich = confile.OpenTextFile(archivo,8,true)
fich.writeline("Estado:" & estado)

Yo es que estoy un poco verde en ASP, ¿cual creis que es mi fallo? ¿cual
sería la mejor opción?


Preguntas similares