DDMultiFormatter.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Software License Agreement (BSD License)
  2. //
  3. // Copyright (c) 2010-2019, Deusty, LLC
  4. // All rights reserved.
  5. //
  6. // Redistribution and use of this software in source and binary forms,
  7. // with or without modification, are permitted provided that the following conditions are met:
  8. //
  9. // * Redistributions of source code must retain the above copyright notice,
  10. // this list of conditions and the following disclaimer.
  11. //
  12. // * Neither the name of Deusty nor the names of its contributors may be used
  13. // to endorse or promote products derived from this software without specific
  14. // prior written permission of Deusty, LLC.
  15. #import <Foundation/Foundation.h>
  16. // Disable legacy macros
  17. #ifndef DD_LEGACY_MACROS
  18. #define DD_LEGACY_MACROS 0
  19. #endif
  20. #import <CocoaLumberjack/DDLog.h>
  21. /**
  22. * This formatter can be used to chain different formatters together.
  23. * The log message will processed in the order of the formatters added.
  24. **/
  25. @interface DDMultiFormatter : NSObject <DDLogFormatter>
  26. /**
  27. * Array of chained formatters
  28. */
  29. @property (readonly) NSArray<id<DDLogFormatter>> *formatters;
  30. /**
  31. * Add a new formatter
  32. */
  33. - (void)addFormatter:(id<DDLogFormatter>)formatter NS_SWIFT_NAME(add(_:));
  34. /**
  35. * Remove a formatter
  36. */
  37. - (void)removeFormatter:(id<DDLogFormatter>)formatter NS_SWIFT_NAME(remove(_:));
  38. /**
  39. * Remove all existing formatters
  40. */
  41. - (void)removeAllFormatters NS_SWIFT_NAME(removeAll());
  42. /**
  43. * Check if a certain formatter is used
  44. */
  45. - (BOOL)isFormattingWithFormatter:(id<DDLogFormatter>)formatter;
  46. @end