Class RedactableArgument


  • public class RedactableArgument
    extends Object
    Wraps a piece of information that is subject to log redaction. Useful when logging sensitive information:
     log.info("Opened bucket {}", RedactableArgument.redactMeta(bucketName));
     
    Or when including sensitive information in an Exception message:
     throw new RuntimeException("Failed to process "
         + RedactableArgument.redactUser(documentId));
     
    The global redaction level is controlled by calling LogRedaction.setRedactionLevel(RedactionLevel)
    Since:
    1.5.3
    See Also:
    LogRedaction
    • Method Detail

      • redactUser

        public static RedactableArgument redactUser​(Object message)
        A redactable argument of user data. User data is data that is stored into Couchbase by the application user account, including:
        • Key and value pairs in JSON documents, or the key exclusively
        • Application/Admin usernames that identify the human person
        • Query statements included in the log file collected by support that leak the document fields (Select floor_price from stock).
        • Names and email addresses asked during product registration and alerting
        • Usernames
        • Document xattrs
        Parameters:
        message - the message to redact.
        Returns:
        a new RedactableArgument.
      • redactMeta

        public static RedactableArgument redactMeta​(Object message)
        A redactable argument of meta data. Metadata is logical data needed by Couchbase to store and process User data, including:
        • Cluster name
        • Bucket names
        • DDoc/view names
        • View code
        • Index names
        • Mapreduce Design Doc Name and Definition (IP)
        • XDCR Replication Stream Names
        • And other couchbase resource specific meta data
        Parameters:
        message - the message to redact.
        Returns:
        a new RedactableArgument.
      • redactSystem

        public static RedactableArgument redactSystem​(Object message)
        A redactable argument of system data. System data is data from other parts of the system Couchbase interacts with over the network, including:
        • IP addresses
        • IP tables
        • Hosts names
        • Ports
        • DNS topology
        Parameters:
        message - the message to redact.
        Returns:
        a new RedactableArgument.
      • type

        public com.couchbase.client.core.logging.RedactableArgument.ArgumentType type()
        The type of this redactable argument.
      • message

        public String message()
        The message of this redactable argument.