addTags

@CanIgnoreReturnValue()
public static boolean addTags(Tags tags)

Adds tags by modifying the current context (if one exists).

Warning: It is always better to create a new context via newContext rather than attempting to modify an existing context. In order of preference you should:

  1. Call or wrap a new context with metadata added to it.
  2. install() a new context and close it when you it exits (e.g. if you are using callbacks to listen to state changes in a task). However it is vital that the returned ScopedLoggingContext.LogContextCloseable is always closed.
  3. Call this method and check that it succeeded (e.g. logging a warning if it fails).

The given tags are merged with those of the modifed context but existing tags will not be overwritten or removed. This is deliberate since two pieces of code may not know about each other and could accidentally use the same tag name; in that situation it's important that both tag values are preserved.

Furthermore, the types of data allowed for tag values are strictly controlled. This is also very deliberate since these tags must be efficiently added to every log statement and so it's important that they resulting string representation is reliably cacheable and can be calculated without invoking arbitrary code (e.g. the toString() method of some unknown user type).

Return

false if there is no current context, or scoped contexts are not supported.