Class WriteAuditLog

    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • formattingMap

        @Nonnull
        @NotEmpty
        private Map<String,​List<String>> formattingMap
        Map of log category to formatting tokens and literals to output.
      • dateTimeFormatter

        @Nonnull
        private DateTimeFormatter dateTimeFormatter
        Formatter for date/time fields.
      • useDefaultTimeZone

        private boolean useDefaultTimeZone
        Convert date/time fields to default time zone.
      • includeProfileLoggingId

        private boolean includeProfileLoggingId
      • requestContext

        @Nullable
        private RequestContext requestContext
        The Spring RequestContext to operate on.
      • auditCtx

        @Nullable
        private AuditContext auditCtx
        The AuditContext to operate on.
    • Constructor Detail

      • WriteAuditLog

        public WriteAuditLog()
        Constructor.
    • Method Detail

      • setFormattingMap

        public void setFormattingMap​(@Nullable @NonnullElements
                                     Map<String,​String> map)
        Set the map of logging category to formatting strings for log entries.

        A formatting string consists of tokens prefixed by '%' separated by any non-alphanumeric or whitespace. Tokens can contain any letter or number or a hyphen. Anything other than a token, including whitespace, is a literal.

        Parameters:
        map - map of categories to formatting strings
      • setCategoriesToLog

        public void setCategoriesToLog​(@Nullable @NonnullElements
                                       Collection<String> categories)
        Set categories to log explicitly.

        In the absence of any, the original behavior that iterates over the whole formatting map and logs each key is retained.

        Parameters:
        categories - categories to log
        Since:
        4.3.0
      • setDateTimeFormat

        public void setDateTimeFormat​(@Nullable @NotEmpty
                                      String format)
        Set the formatting string to apply when extracting date/time fields.
        Parameters:
        format - formatting string
      • setUseDefaultTimeZone

        public void setUseDefaultTimeZone​(boolean flag)
        Convert date/time fields to default time zone.
        Parameters:
        flag - flag to set
      • setIncludeProfileLoggingId

        public void setIncludeProfileLoggingId​(boolean flag)
        Sets whether to suffix the profile's logging ID to the category to log against.

        Defaults to true.

        Parameters:
        flag - flag to set
        Since:
        4.3.0
      • doExecute

        @Nonnull
        protected Event doExecute​(@Nonnull
                                  RequestContext springRequestContext,
                                  @Nonnull
                                  ProfileRequestContext profileRequestContext)
        Spring-aware actions can override this method to fully control the execution of an Action by the Web Flow engine.

        Alternatively they may override AbstractProfileAction.doExecute(ProfileRequestContext) and access Spring information via a SpringRequestContext attached to the profile request context.

        The default implementation attaches the Spring Web Flow request context to the profile request context tree to "narrow" the execution signature to the basic OpenSAML ProfileAction interface. After execution, an EventContext is sought, and used to return a result back to the Web Flow engine. If no context exists, a "proceed" event is signaled.

        Overrides:
        doExecute in class AbstractProfileAction
        Parameters:
        springRequestContext - the Spring request context
        profileRequestContext - a profile request context
        Returns:
        a Web Flow event produced by the action
      • filter

        protected void filter​(@Nonnull
                              StringBuilder entry)
        Optional override to filter the outgoing log message, does nothing by default.
        Parameters:
        entry - log entry