com.google.gwt.core.ext

## Class TreeLogger

- java.lang.Object
- - com.google.gwt.core.ext.TreeLogger

-     public abstract class TreeLogger
      extends java.lang.Object

  An interface used to log messages in deferred binding generators.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TreeLogger.HelpInfo` Provides extra information to the user, generally details of what caused the problem or what the user should do to fix the problem.
    `static class` | `TreeLogger.Type` A type-safe enum of all possible logging severity types.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static TreeLogger.Type` | `ALL` Logs everything -- quite a bit of stuff.
    `static TreeLogger.Type` | `DEBUG` Logs detailed information that could be useful during debugging.
    `static TreeLogger.Type` | `ERROR` Logs an error.
    `static TreeLogger.Type` | `INFO` Logs information.
    `static TreeLogger` | `NULL` A valid logger that ignores all messages.
    `static TreeLogger.Type` | `SPAM` Logs extremely verbose and detailed information that is typically useful only to product implementors.
    `static TreeLogger.Type` | `TRACE` Logs information related to lower-level operation.
    `static TreeLogger.Type` | `WARN` Logs a warning.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TreeLogger()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TreeLogger` | `branch(TreeLogger.Type type, java.lang.String msg)` Calls `branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)` with a `null` `caught` and `helpInfo`.
    `TreeLogger` | `branch(TreeLogger.Type type, java.lang.String msg, java.lang.Throwable caught)` Calls `branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)` with a `null` `helpInfo`.
    `abstract TreeLogger` | `branch(TreeLogger.Type type, java.lang.String msg, java.lang.Throwable caught, TreeLogger.HelpInfo helpInfo)` Produces a branched logger, which can be used to write messages that are logically grouped together underneath the current logger.
    `abstract boolean` | `isLoggable(TreeLogger.Type type)` Determines whether or not a log entry of the specified type would actually be logged.
    `void` | `log(TreeLogger.Type type, java.lang.String msg)` Calls `log(TreeLogger.Type, String, Throwable, HelpInfo)` with a `null` `caught` and `helpInfo`.
    `void` | `log(TreeLogger.Type type, java.lang.String msg, java.lang.Throwable caught)` Calls `log(TreeLogger.Type, String, Throwable, HelpInfo)` with a `null` `helpInfo`.
    `abstract void` | `log(TreeLogger.Type type, java.lang.String msg, java.lang.Throwable caught, TreeLogger.HelpInfo helpInfo)` Logs a message and/or an exception, with optional help info.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ERROR

          public static final TreeLogger.Type ERROR

      Logs an error.

    - #### WARN

          public static final TreeLogger.Type WARN

      Logs a warning.

    - #### INFO

          public static final TreeLogger.Type INFO

      Logs information.

    - #### TRACE

          public static final TreeLogger.Type TRACE

      Logs information related to lower-level operation.

    - #### DEBUG

          public static final TreeLogger.Type DEBUG

      Logs detailed information that could be useful during debugging.

    - #### SPAM

          public static final TreeLogger.Type SPAM

      Logs extremely verbose and detailed information that is typically useful only to product implementors.

    - #### ALL

          public static final TreeLogger.Type ALL

      Logs everything -- quite a bit of stuff.

    - #### NULL

          public static final TreeLogger NULL

      A valid logger that ignores all messages. Occasionally useful when calling methods that require a logger parameter.

  - ### Constructor Detail

    - #### TreeLogger

          public TreeLogger()

  - ### Method Detail

    - #### branch

          public final TreeLogger branch(TreeLogger.Type type,
                                         java.lang.String msg)

      Calls `branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)` with a `null` `caught` and `helpInfo`.

    - #### branch

          public final TreeLogger branch(TreeLogger.Type type,
                                         java.lang.String msg,
                                         java.lang.Throwable caught)

      Calls `branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)` with a `null` `helpInfo`.

    - #### branch

          public abstract TreeLogger branch(TreeLogger.Type type,
                                            java.lang.String msg,
                                            java.lang.Throwable caught,
                                            TreeLogger.HelpInfo helpInfo)

      Produces a branched logger, which can be used to write messages that are logically grouped together underneath the current logger. The details of how/if the resulting messages are displayed is implementation-dependent.

      The log message supplied when branching serves two purposes. First, the message should be considered a heading for all the child messages below it. Second, the `type` of the message provides a hint as to the importance of the children below it. As an optimization, an implementation could return a "no-op" logger if messages of the specified type weren't being logged, which the implication being that all nested log messages were no more important than the level of their branch parent.

      As an example of how hierarchical logging can be used, a branched logger in a GUI could write log message as child items of a parent node in a tree control. If logging to streams, such as a text console, the branched logger could prefix each entry with a unique string and indent its text so that it could be sorted later to reconstruct a proper hierarchy.

      Parameters:
        `type` -
        `msg` - an optional message to log, which can be `null` if only an exception is being logged
        `caught` - an optional exception to log, which can be `null` if only a message is being logged
        `helpInfo` - extra information that might be used by the logger to provide extended information to the user
      Returns:
        an instance of `TreeLogger` representing the new branch of the log; may be the same instance on which this method is called

    - #### isLoggable

          public abstract boolean isLoggable(TreeLogger.Type type)

      Determines whether or not a log entry of the specified type would actually be logged. Caller use this method to avoid constructing log messages that would be thrown away.

    - #### log

          public final void log(TreeLogger.Type type,
                                java.lang.String msg)

      Calls `log(TreeLogger.Type, String, Throwable, HelpInfo)` with a `null` `caught` and `helpInfo`.

    - #### log

          public final void log(TreeLogger.Type type,
                                java.lang.String msg,
                                java.lang.Throwable caught)

      Calls `log(TreeLogger.Type, String, Throwable, HelpInfo)` with a `null` `helpInfo`.

    - #### log

          public abstract void log(TreeLogger.Type type,
                                   java.lang.String msg,
                                   java.lang.Throwable caught,
                                   TreeLogger.HelpInfo helpInfo)

      Logs a message and/or an exception, with optional help info. It is also legal to call this method using `null` arguments for both `msg` and `caught`, in which case the log event can be ignored. The `info` can provide extra information to the logger; a logger may choose to ignore this info.
      Parameters:
        `type` -
        `msg` - an optional message to log, which can be `null` if only an exception is being logged
        `caught` - an optional exception to log, which can be `null` if only a message is being logged
        `helpInfo` - extra information that might be used by the logger to provide extended information to the user