lev.debug

## Class LLogger

- java.lang.Object
- - lev.debug.LLogger

-     public class LLogger
      extends java.lang.Object

  A debug log package that offers several locations and options for outputting debug information.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected LDebug` | `asynced`
    `protected java.lang.String` | `debugPath`
    `protected boolean` | `logging`
    `protected boolean` | `loggingAsync`
    `protected boolean` | `loggingSync`
    `protected LDebug` | `main`
    `protected static boolean` | `mainLogSwitch`
    `protected java.util.Map<java.lang.Enum,LDebug>` | `special`
    `protected LDebug` | `synced`
    `protected boolean` | `syncing`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LLogger(java.lang.String debugPath)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSpecial(java.lang.Enum key, java.lang.String filePath)` Adds a special log tied to the Enum key, that can be exported to by using that key.
    `java.util.ArrayList<LDebug>` | `allDebugs()`
    `void` | `close()` Closes all associated Debug files.
    `void` | `flush()` Forces all logs to export their buffers.
    `void` | `log(java.lang.String header, java.lang.String... log)` Logs to the asynchronous log.
    `void` | `logError(java.lang.String header, java.lang.String... log)` Logs an error message on both to the sync log and to the main overview log.
    `void` | `logException(java.lang.Throwable e)` Used for printing exception stack data to logs.
    `boolean` | `logging()`
    `void` | `logging(java.lang.Boolean on)` Turns the LLogger on/off.
    `boolean` | `loggingAsync()`
    `void` | `loggingAsync(java.lang.Boolean on)` Turns the LLogger async log on/off.
    `boolean` | `loggingSync()`
    `void` | `loggingSync(java.lang.Boolean on)` Turns the LLogger sync log on/off.
    `void` | `logMain(java.lang.String header, java.lang.String... log)` Outputs a message to the main debug overview log.
    `void` | `logSpecial(java.lang.Enum e, java.lang.String header, java.lang.String... log)` Logs to a special log based on the given enum.
    `void` | `logSync(java.lang.String header, java.lang.String... log)` A function that will log messages to the synchronized log if the syncing flag is on.
    `void` | `newLog(java.lang.String filePath)` Creates a new asynchronous log.
    `void` | `newSyncLog(java.lang.String filePath)` Creates a new sync log in the desired location.
    `void` | `setAllLogging(boolean in)` A global switch that allows/blocks all LLoggers to output.
    `boolean` | `sync()`
    `void` | `sync(boolean on)` Turn the synchronized logging on/off.

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

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

- - ### Field Detail

    - #### debugPath

          protected java.lang.String debugPath

    - #### main

          protected LDebug main

    - #### synced

          protected LDebug synced

    - #### syncing

          protected boolean syncing

    - #### asynced

          protected LDebug asynced

    - #### logging

          protected boolean logging

    - #### loggingSync

          protected boolean loggingSync

    - #### loggingAsync

          protected boolean loggingAsync

    - #### mainLogSwitch

          protected static boolean mainLogSwitch

    - #### special

          protected java.util.Map<java.lang.Enum,LDebug> special

  - ### Constructor Detail

    - #### LLogger

          public LLogger(java.lang.String debugPath)

      Parameters:
        `debugPath` - Path to create a LLogger debug package.

  - ### Method Detail

    - #### addSpecial

          public void addSpecial(java.lang.Enum key,
                        java.lang.String filePath)

      Adds a special log tied to the Enum key, that can be exported to by using that key.
      Parameters:
        `key` - Key to add the special log under
        `filePath` - Path to give the special log.

    - #### logSync

          public void logSync(java.lang.String header,
                     java.lang.String... log)

      A function that will log messages to the synchronized log if the syncing flag is on. Otherwise, it will output to the asynchronized log.
      Parameters:
        `header` -
        `log` -

    - #### newSyncLog

          public void newSyncLog(java.lang.String filePath)

      Creates a new sync log in the desired location.
      Parameters:
        `filePath` -

    - #### sync

          public void sync(boolean on)

      Turn the synchronized logging on/off. If this is on, all logSync() output will go to the synchronized log; if off, the messages will go to the asynchronous log instead.
      Parameters:
        `on` -

    - #### sync

          public boolean sync()

      Returns:
        Whether the LLogger is current output to the sync log.

    - #### logMain

          public void logMain(java.lang.String header,
                     java.lang.String... log)

      Outputs a message to the main debug overview log.
      Parameters:
        `header` -
        `log` -

    - #### logError

          public void logError(java.lang.String header,
                      java.lang.String... log)

      Logs an error message on both to the sync log and to the main overview log.
      Parameters:
        `header` -
        `log` -

    - #### logging

          public boolean logging()

      Returns:
        Whether the LLogger is on/off.

    - #### logging

          public void logging(java.lang.Boolean on)

      Turns the LLogger on/off.
      Parameters:
        `on` -

    - #### loggingSync

          public boolean loggingSync()

      Returns:
        Whether the LLogger's sync log is on/off.

    - #### loggingSync

          public void loggingSync(java.lang.Boolean on)

      Turns the LLogger sync log on/off.
      Parameters:
        `on` -

    - #### loggingAsync

          public boolean loggingAsync()

      Returns:
        Whether the LLogger's async log is on/off.

    - #### loggingAsync

          public void loggingAsync(java.lang.Boolean on)

      Turns the LLogger async log on/off.
      Parameters:
        `on` -

    - #### logException

          public void logException(java.lang.Throwable e)

      Used for printing exception stack data to logs.
      Parameters:
        `e` - Exception to print.

    - #### setAllLogging

          public void setAllLogging(boolean in)

      A global switch that allows/blocks all LLoggers to output.
      Parameters:
        `in` -

    - #### flush

          public void flush()

      Forces all logs to export their buffers.

    - #### logSpecial

          public void logSpecial(java.lang.Enum e,
                        java.lang.String header,
                        java.lang.String... log)

      Logs to a special log based on the given enum. You must create these special logs ahead of time.
      Parameters:
        `e` - Enum key to log to.
        `header` -
        `log` -

    - #### log

          public void log(java.lang.String header,
                 java.lang.String... log)

      Logs to the asynchronous log.
      Parameters:
        `header` -
        `log` -

    - #### newLog

          public void newLog(java.lang.String filePath)

      Creates a new asynchronous log.
      Parameters:
        `filePath` -

    - #### close

          public void close()

      Closes all associated Debug files.

    - #### allDebugs

          public java.util.ArrayList<LDebug> allDebugs()