FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Logs de uso del sistema
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Logs de uso del sistema
Posted: Mon Feb 23, 2009 01:03 PM

Holas a todos..

Estoy en la necesidad de tener un log del uso del sistema que especifique donde estubo el usuario dentro de la aplicacion.

Poseo los siguientes datos.
Nombre de la Estacion
Usuario de la Estacion
Usuario de mi aplicacion
Fecha
Hora

Y necesito saber ademas, modulo ( Procedure, funcion ) donde Entro/Salio y su hora... algo asi como para controlar que cosas hizo un usuario en un determinado programa. Puede ser con DBF o SQL.

Cualquier idea u opinion sera bienvenida...
Gracias de antemano.

Desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Logs de uso del sistema
Posted: Mon Feb 23, 2009 01:54 PM
Adolfo wrote:Holas a todos..

Estoy en la necesidad de tener un log del uso del sistema que especifique donde estubo el usuario dentro de la aplicacion.

Poseo los siguientes datos.
Nombre de la Estacion
Usuario de la Estacion
Usuario de mi aplicacion
Fecha
Hora

Y necesito saber ademas, modulo ( Procedure, funcion ) donde Entro/Salio y su hora... algo asi como para controlar que cosas hizo un usuario en un determinado programa. Puede ser con DBF o SQL.

Cualquier idea u opinion sera bienvenida...
Gracias de antemano.

Desde Chile
Adolfo


Yo utilizo esta funci贸n. Es 'cutre' est谩 orientada para depurar lo que codifico pero me da muy buen resultado:
Eemplos de uso:
Traza( 0, "C:\TEMP\", "LOG.TXT" )
Traza( 1, "lo que me de la gana", "valor de la variable nCaso=", nCaso )
/* ***************************************** */
Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "fileio.ch"
#include "Set.ch"
#include "common.ch"

STATIC lGraba 聽:= .T.
STATIC cPath 聽 := ""
STATIC cFitxer := ""

FUNCTION Traza( nAccion, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O )

Local cPathFitx := ""
Local hfichero 聽:= 0
Local cLiteral 聽:= ""
Local cFormatdate := ""

DEFAULT A TO ""
DEFAULT B TO ""

/* Inicializa valores para la grabaci贸n de las trazas.
聽 聽-------------------------------------------------*/
If nAccion = 0
聽 聽 cPath = A
聽 聽 cFitxer = B
聽 聽 IF cFitxer <> "SINTRAZA.TXT"
聽 聽 聽 聽 lGraba 聽:= .T.
聽 聽 聽 聽 Traza(1, "Started.")
聽 聽 EndIf

/* Graba las trazas.
聽 聽---------------*/
ElseIf nAccion = 1 .and. lGraba

聽 聽 DEFAULT C TO ""
聽 聽 DEFAULT D TO ""
聽 聽 DEFAULT E TO ""
聽 聽 DEFAULT F TO "" 聽 聽 聽 聽 聽 聽 聽//37
聽 聽 DEFAULT G TO ""
聽 聽 DEFAULT H TO ""
聽 聽 DEFAULT I TO ""
聽 聽 DEFAULT J TO ""
聽 聽 DEFAULT K TO ""
聽 聽 DEFAULT L TO ""
聽 聽 DEFAULT M TO ""
聽 聽 DEFAULT N TO ""
聽 聽 DEFAULT O TO ""

聽 聽 cFormatdate := set( _SET_DATEFORMAT , "dd-mm-yy" )
聽 聽 cPathFitx = cPath + cFitxer

聽 聽 /*cLiteral = dtoc(Date()) + "/" + Time() + ;
聽 聽 聽 聽 聽 聽 聽 聽If( At(":", ProcName(5) ) > 0, "/" + ProcName(6),"") + ;
聽 聽 聽 聽 聽 聽 聽 聽If( At(":", ProcName(4) ) > 0, "/" + ProcName(5),"") + ;
聽 聽 聽 聽 聽 聽 聽 聽If( At(":", ProcName(3) ) > 0, "/" + ProcName(4),"") + ;
聽 聽 聽 聽 聽 聽 聽 聽If( At(":", ProcName(2) ) > 0, "/" + ProcName(3),"") + ;
聽 聽 聽 聽 聽 聽 聽 聽If( At(":", ProcName(1) ) > 0, "/" + ProcName(2) + Str(ProcLine(2),4,0),"") + ;
聽 聽 聽 聽 聽 聽 聽 聽"/" + ProcName(1) + "<>" + Str(ProcLine(1),4,0) + "->" + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(A) + cValToChar(B) + cValToChar(C) + cValToChar(D) + cValToChar(E) + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(F) + cValToChar(G) + cValToChar(H) + cValToChar(I) + cValToChar(J) + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(K) + cValToChar(L) + cValToChar(M) + cValToChar(N) + cValToChar(O)+ CRLF*/

聽 聽 cLiteral = dtoc(Date()) + "/" + Time() + ProcName(1) + "<>" + Str(ProcLine(1),4,0) + "->" + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(A) + cValToChar(B) + cValToChar(C) + cValToChar(D) + cValToChar(E) + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(F) + cValToChar(G) + cValToChar(H) + cValToChar(I) + cValToChar(J) + ;
聽 聽 聽 聽 聽 聽 聽 聽cValToChar(K) + cValToChar(L) + cValToChar(M) + cValToChar(N) + cValToChar(O)+ CRLF


聽 聽 hfichero =fopen(cPathFitx, FO_READWRITE + FO_SHARED)

聽 聽 If Ferror() != 0
聽 聽 聽 聽 hfichero =fcreate(cPathFitx,FC_NORMAL)
聽 聽 Endif

聽 聽 If Ferror() != 0 聽 聽 聽 聽 聽 聽 聽 //74
聽 聽 聽 聽 traza(0, cfilepath( Arg( 0 ) ), "AMPA32.TXT" )
聽 聽 聽 聽 traza(1, ProcName(2), ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "--Error al grabar el fichero: " + cPathFitx + ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 CRLF + "Gravado en:" + cfilepath( Arg( 0 ) ) + "AMPA32.TXT" )
聽 聽 聽 聽 Traza(1, ProcName(1) + "<>" + A, B, C, D, E, F, G, H, I, J, K, L, M, N, O )
聽 聽 聽 聽 ? "Error al grabar el fichero: " + cPathFitx + CRLF + "Gravado en:" + ;
聽 聽 聽 聽 聽 cfilepath( Arg( 0 ) ) + "AMPA32.TXT"
聽 聽 聽 else
聽 聽 聽 聽 fseek(hfichero, 0, FS_END)
聽 聽 聽 聽 fwrite(hfichero, cLiteral )
聽 聽 聽 聽 fclose(hfichero)
聽 聽 Endif

聽 聽 set( _SET_DATEFORMAT , cFormatDate )

/* Detiene la grabaci贸n de trazas.
聽 聽-----------------------------*/
ElseIf nAccion = 2

聽 聽 Traza(1, "Stop.")
聽 聽 lGraba 聽:= .F.

/* Reinicia la grabaci贸n de trazas.
聽 聽------------------------------*/
ElseIf nAccion = 3

聽 聽 lGraba 聽:= .T.

/* Devuelve una array de dos elementos con el cPath y el cFitxer.
聽 聽------------------------------------------------------------*/
ElseIf nAccion = 4

聽 聽 Return { cPath, cFitxer }

/* Borra el fichero de trazas.
聽 聽-------------------------*/
ElseIf nAccion = 5

聽 聽 cPathFitx = cPath + cFitxer

聽 聽 If File(cPathFitx)
聽 聽 聽 聽 ferase( cPathFitx )
聽 聽 EndIf

EndIf

return .T.
*eof: TRAZA.PRG

/* ***************************************** */

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Logs de uso del sistema
Posted: Tue Feb 24, 2009 12:21 AM

Adolfo,

Puedes usar la funcion LogFile() de FW. Es muy simple y sencilla de usar:

LogFile( cFileName, aValues )

aValues es un array con los elementos que quieras y del tipo que quieras. No hace falta que los pases a cadena.

Por defecto te incluye la fecha y la hora en el fichero log. Puedes llamar a LogFile() tantas veces como quiera que va a帽adiendo lineas al final del fichero log.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Re: Logs de uso del sistema
Posted: Tue Feb 24, 2009 03:33 PM

Gracias Antonio

Reviso y te comento mis descubrimeintos...

... puchas que me gusta FW :D

Desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650

Continue the discussion