Logging In Scripts
The logger object provides access to a unique SLF4J logger instance for scripts. Events are logged as defined in by a dedicated logger in logback.xml
, and are included in the logs with the name of with the scriptable object.
To log events for scripts:
Add logger objects to the script to enable logging at different levels. For example, add some of the following logger objects:
logger.error("ERROR") logger.warn("WARN") logger.info("INFO") logger.debug("DEBUG") logger.trace("TRACE")
Add a logger to
logback.xml
to reference the scriptable object and set the log level. The logger is defined by the type and name of the scriptable object that references the script, as follows:ScriptableFilter:
org.forgerock.openig.filter.ScriptableFilter.filter_name
ScriptableHandler:
org.forgerock.openig.handler.ScriptableHandler.handler_name
ScriptableThrottlingPolicy:
org.forgerock.openig.filter.throttling.ScriptableThrottlingPolicy.throttling_policy_name
ScriptableAccessTokenResolver:
org.forgerock.openig.filter.oauth2.ScriptableAccessTokenResolver.access_token_resolver_name
For example, the following logger logs trace-level messages for a ScriptableFilter named
cors_filter
:<logger name="org.forgerock.openig.filter.ScriptableFilter.cors_filter" level="TRACE"/>
The resulting messages in the logs contain the name of the scriptable object:
14:54:38:307 | TRACE | http-nio-8080-exec-6 | o.f.o.f.S.cors_filter | TRACE