Sistema de registros (logs)
#1

їCual es la mejor forma de mantener un registro del servidor? (Suponiendo que por cada comando ingresado haya un registro por jugador)

Yo uso una tabla MySQL [MyISAM] para guardar los registros. їEs bueno? їQue otras mejores formas hay?
Reply
#2

Pues la verdad es que ambas maneras son buenas, yo optarнa por quedarme con la de MySQL.

InnoDB tiene mayor capacidad para ejecutar instrucciones ACID y tiene mayor integridad referencial.
MyISAM tiene mayor capacidad para ejecutar consultas con rapidez

El que te convenga mбs.

Aъn asн, te dejo una funciуn que serнa basicamente por .txt.

pawn Код:
stock Log_Write(const path[], const str[], {Float,_}:...)
{
    static
        args,
        start,
        end,
        File:file,
        string[1024]
    ;
    if ((start = strfind(path, "/")) != -1) {
        strmid(string, path, 0, start + 1);

        if (!fexist(string))
            return printf("** Advertencia: El directorio \"%s\" no existe.", string);
    }
    #emit LOAD.S.pri 8
    #emit STOR.pri args

    file = fopen(path, io_append);

    if (!file)
        return 0;

    if (args > 8)
    {
        #emit ADDR.pri str
        #emit STOR.pri start

        for (end = start + (args - 8); end > start; end -= 4)
        {
            #emit LREF.pri end
            #emit PUSH.pri
        }
        #emit PUSH.S str
        #emit PUSH.C 1024
        #emit PUSH.C string
        #emit PUSH.C args
        #emit SYSREQ.C format

        fwrite(file, string);
        fwrite(file, "\r\n");
        fclose(file);

        #emit LCTRL 5
        #emit SCTRL 4
        #emit RETN
    }
    fwrite(file, str);
    fwrite(file, "\r\n");
    fclose(file);

    return 1;
}
pawn Код:
public OnPlayerConnect(playerid)
{
    new
        nombre[MAX_PLAYER_NAME], IP[32];
       
    GetPlayerName(playerid, nombre, sizeof(nombre));
    GetPlayerIP(playerid, IP, sizeof(IP));
   
    Log_Write("conexiones.txt", "[%s] %s se conectу", IP, nombre);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)