Prezados,
hoje vamos falar sobre como ativar e consultar o log de atividades no APEX.
Como tudo no APEX, é muito fácil!
Você pode ativar o log de atividades do usuário no nível da sua instância do APEX ou da sua aplicação.
Para ativar o log no nível da instância, acesse com seu login e senha de administrador de instância o ambiente de administração usando a URL: https://seudomíniodoapex/ords/apex_admin ou digitando INTERNAL como o workspace na tela de login do ambiente de desenvolvimento do APEX.
Após isso, acesse: Gerenciar Instância > Configuração de Recursos e na seção Monitoramento, defina a propriedade "Log de Atividades do Aplicativo" com o valor desejado.
Por padrão, o APEX deixa que cada aplicativo defina se vai gerar o log de atividades, mas caso queira que todas as aplicações gerem log (o desenvolvedor não consegue desativar a nível de aplicação), você pode definir a propriedade como "Sempre".
Outras opções são definir como "Nunca" gerar log ou para que ao criar uma aplicação, inicialmente a aplicação não gere log a não ser que o desenvolvedor ative o log ("Inicialmente Desativado para Novos Aplicativos").
Portanto, ao definir a propriedade como "Sempre" ou deixar como padrão ("Usar Definições do Aplicativo"), a sua aplicação poderá gerar log de atividades.
Caso no nível de instância seja definido como "Padrão", o desenvolvedor pode ativar a geração de log de atividades no nível da aplicação.
Obs: O APEX antes chamava de "aplicação", mas as novas versões estão chamando de "aplicativo".
Para definir no nível da aplicação, o desenvolvedor deve logar no espaço de trabalho, acessar a aplicação no AppBuilder, nos Componentes Compartilhados, acessar "Atributos de Definição do Aplicativo" na seção Propriedades, você pode ativar a opção "Log" (conforme imagem abaixo).
Isso faz com que os logs de atividades sejam gerados pelo APEX.
E como posso acessar essa informação?
O log é salvo internamente e fica acessível por meio da view APEX_WORKSPACE_ACTIVITY_LOG quando consultada no esquema APEX correspondente.
Vamos fazer uma consulta no SQL Workshop de exemplo.
select * from apex_workspace_activity_log
O log do APEX registra as visualizações e submissões de página, além de chamadas ajax (normalmente ações dinâmicas) e contém diversas informações interessantes, tais como: workspace, usuário logado, id e nome da aplicação, id e nome da página, data de visualização, tempo de execução, IP, Agent (Browser), Sessão APEX, mensagens de erro etc.
Caso tenha dúvidas do que alguma coluna significa, você pode consultar o comentário de cada coluna usando o dicionário do APEX usando a seguinte consulta:
where apex_view_name = 'APEX_WORKSPACE_ACTIVITY_LOG'