Descargamos la última versión que se encuentre en http://sourceforge.net/projects/log4plsql
Siguiendo las indicaciones del documento que se encuentra en el paquete descargado (\docs\UserGuide.html) creamos primero un usuario/esquema que contendrá el código del framework. En nuestro caso se llamará LOG4PL. Hay un script create_user.sql en \sql\install_sys que ejecutado por el usuario SYS creará el usuario, pero cuidado porque ese script deja el ‘default tablespace’ al que tenga la BD y puede no interesarnos. Modificarlo si es necesario.
En función de los paquetes que vayamos a instalar (escribir en alert.log o en las colas AQ, etc.) nos interesará modificar el script grant_before_installation.sql que está en \sql\install_sys y después ejecutarlo.
Una vez creado el usuario LOG4PL, hacemos login en su esquema y ejecutamos la instalación del framework con
@.\log4plsql\sql\install_log_user\install.sql
Nos preguntará por los paquetes adicionales y contestaremos con ‘y’ o ‘n’.
En install.txt que está en \log4plsql\sql\install_log_user\ podemos mirar si hubo errores.
Una vez instalado el framework y desde el usuario SYS damos permiso de ejecución pública a sus paquetes con el script grant_after_installation.sql que está en \sql\install_sys. Esto no aparece en la guía de instalación. Además el script tiene una errata al dar el GRANT al paquete PLOG_PARAM cuando debe ser PLOGPARAM. Se ha creado grant_after_installation.selae.sql con el error corregido.
Tampoco viene en la guía pero puede ser conveniente disponer de SYNONYMs públicos para los paquetes del framework que se invocan desde otros esquemas. Desde SYS ejecutamos:
create or replace public synonym PLOG for LOG4PL.PLOG; create or replace public synonym PLOGPARAM for LOG4PL.PLOGPARAM;
Probamos el funcionamiento del paquete y la asignación de permisos desde un esquema que lo vaya a usar con por ejemplo:
begin
plog.info('Prueba paquete LOG4PLSQL');
end;
Comprobamos en la tabla LOG4PL.TLOG que aparece un registro como consecuencia de la ejecución anterior.
ACTUALIZACIÓN:
Se ha creado un fichero create_user.selae.sql que sustituye al create_user.sql y en el que la diferencia es que el CREATE USER se ha modificado por este:
CREATE USER &V_USER IDENTIFIED BY &V_PASSWORD DEFAULT TABLESPACE TS_PORTALLAE_DATOS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON TS_PORTALLAE_DATOS QUOTA UNLIMITED ON TS_PORTALLAE_INDICES;