Log do sistema

Pessoal alquém por acaso tem algum tutorial de como fazer o log do sistema, pois pretendo monitorar todos os usários do sistema e no site do SC tem exemplos mas não funcionam na versão 5, se alquém tiver al tutorial e poder me fornecer serei muito grato pela ajuda de vocês, meu e-mail é esse kjmn28@hotmail. com

Olha a rotina de log que uso e bastante simples vou tentar explicar o melhor possível.

1- Crie um novo arquivo na Biblioteca do projeto.

EX: log.php
Com o seguinte código:

<?php Function log($userid,$logapl,$logreg,$logacao) { $apl = basename ($aplphp ,".php"); // $arquivo = "aplicação" $logip = $_SERVER["REMOTE_ADDR"]; sc_exec_sql("INSERT INTO logs (log_apl,log_acao,log_user,log_ip,log_campo) VALUES ('$apl', '$logacao', '$userid', '$logip', '$logreg')"); } // Fim da Função de Log ?>

2- Nesta parte teremos que editar todas as aplicações e seus respectivos eventos;
[font=Verdana]ATENÇÂO:[/font]Não se esqueçam de ir em Progamação->Bibliotecas e ativar o uso da tal nas aplicações senão ocorreram erros ao rodar a aplicação.
EXs:

// Controles - evento OnLoad
$campo = “-”;
$apl = end(explode("/", $_SERVER[‘PHP_SELF’]));
$act = “LOGIN NO SISTEMA”;
log([id_usuario],$apl,$campo,$act);

// Consultas - evento OnInit
$campo = “-”;
$apl = end(explode("/", $_SERVER[‘PHP_SELF’]));
$act = “CONSULTA GERAL DE CONTRATOS”;
log([id_usuario],$apl,$campo,$act);

// Formulários - evento OnValidate
$campo = {contrato};
$campo2 = [cod_prof];
$apl = end(explode("/", $_SERVER[‘PHP_SELF’]));
if (sc_btn_update) {
$act = "ATUALIZAR CONTRATO DO COOPERADO N°: ".$campo2;}
elseif (sc_btn_insert) {
$act = "INSERIR CONTRATO DO COOPERADO N°: ".$campo2;}
elseif (sc_btn_delete) {
$act = "EXCLUIR CONTRATO DO COOPERADO N°: ".$campo2;}
else {$act = “DESCONHECIDO”;}
log([id_usuario],$apl,$campo,$act);

// Formulário - evento OnLoad
$campo = [cod_prof]; // nome do campo que interessa gravar (chave primaria por ex)
$apl = end(explode("/", $_SERVER[‘PHP_SELF’])); // nome da aplicação no sc
if (sc_btn_new)
{
$act = “ADICIONANDO NOVA LOCAÇÃO DE CONTRATO”;
log([id_usuario],$apl,$campo,$act);
}
else {
$act = “CONSULTANDO LOCAÇÕES DE CONTRATO”;
log([id_usuario],$apl,$campo,$act);
}

PS: Apartir desta ideia fica bastante maleável podendo também ser inclusa em filtros, blanks, etc.

Desculpe, postei somente para reativar a discussão, pois eu editei meu post acima.