text: // Software License Agreement (BSD License)
  //
  // Copyright (c) 2010-2016, Deusty, LLC
  // All rights reserved.
  //
  // Redistribution and use of this software in source and binary forms,
  // with or without modification, are permitted provided that the following conditions are met:
  //
  // * Redistributions of source code must retain the above copyright notice,
  //   this list of conditions and the following disclaimer.
  //
  // * Neither the name of Deusty nor the names of its contributors may be used
  //   to endorse or promote products derived from this software without specific
  //   prior written permission of Deusty, LLC.
  
  #import "TKLogManager.h"
  #import "TKAbstractLogger.h"
  
  #define LOG_CONTEXT_ALL INT_MAX
  
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wunused-function"
  #pragma clang diagnostic pop
  
  /**
   * This class provides a logger for Terminal output or Xcode console output,
   * depending on where you are running your code.
   *
   * As described in the "Getting Started" page,
   * the traditional NSLog() function directs it's output to two places:
   *
   * - Apple System Log (so it shows up in Console.app)
   * - StdErr (if stderr is a TTY, so log statements show up in Xcode console)
   *
   * To duplicate NSLog() functionality you can simply add this logger and an asl logger.
   * However, if you instead choose to use file logging (for faster performance),
   * you may choose to use only a file logger and a tty logger.
   **/
  @interface TKTTYLogger : TKAbstractLogger <TKLoggerDelegate>
  
  /**
   *  Default `init` is not available
   */
  - (instancetype)init NS_UNAVAILABLE;
  
  /**
   *  Singleton method
   */
  + (instancetype)sharedInstance;
  
  /* Inherited from the DDLogger protocol:
   *
   * Formatters may optionally be added to any logger.
   *
   * If no formatter is set, the logger simply logs the message as it is given in logMessage,
   * or it may use its own built in formatting style.
   *
   * More information about formatters can be found here:
   * Documentation/CustomFormatters.md
   *
   * The actual implementation of these methods is inherited from DDAbstractLogger.
  
     - (id <DDLogFormatter>)logFormatter;
     - (void)setLogFormatter:(id <DDLogFormatter>)formatter;
  
   */
  
  /**
   * When using a custom formatter you can set the `logMessage` method not to append
   * `\n` character after each output. This allows for some greater flexibility with
   * custom formatters. Default value is YES.
   **/
  @property (nonatomic, readwrite, assign) BOOL automaticallyAppendNewlineForCustomFormatters;
  
  @end
  