Skip to content

Latest commit

 

History

History
428 lines (275 loc) · 10.8 KB

CHANGELOG.md

File metadata and controls

428 lines (275 loc) · 10.8 KB

Change Log

All notable changes to this project will be documented in this file. LogsManager adheres to Semantic Versioning.

Released on `2023-06-22

Added

  • Reusabled String compression logic
  • oneLine parameter to control logs formatting
  • [AlertLogger] Allow to show aler once per error
  • Use | prefix for normalized data string to simplify console filtering
  • DDLogMessage.Parameters.Constants.skipDataNormalizationKeyPrefix constant to allow data entry normalization skip

Changed

  • Output error type during error normalization
  • Sort normalized data string parameters
  • Use Set to track once logged errors
  • Better empty data string
  • Do not map Data to ASCII
  • Better multiline formatting
  • Better code reuse
  • Lazy timestamp parameter

Fixed

  • Crash on onceLoggedErrors access fix

Released on `2023-06-22

Changed

  • Lowered restriction for log data. Data key type is AnyHashable now.

Released on `2023-06-21

Changed

  • Console data string format

Released on `2023-06-21

Added

  • Trace logs for RoutableLogger

Changed

  • Output file name only instead of whole path for trace log

Fixed

  • Trace log level fix

Released on `2023-06-20

Changed

  • All log functions now accept data as @autoclosure

Released on `2023-06-20

Added

  • Trace log level: logTrace()

Released on `2023-06-15

Changed

  • Allow to attach data to non-error logs

Released on `2023-01-26

Changed

  • Min supported OS versions rised

Released on 2022-07-07

Added

  • Added an ability to specify string log components for RoutableLogger
  • Allow to call log components detection from outside
  • Allow to get current log components
  • DDLogMessage.Parameters .compressedNormalizedData(allowedCount:)
  • Deadlock on log from logger queue prevention
  • LogComponent: CustomStringConvertible
  • LoggerMode.muteComponentsBelowLevel
  • LoggerMode.specificAndMutedComponents(specific:muted:)
  • LoggerMode.specificAndMutedComponentsAndLevels(specific:muted:)

Changed

  • Do not attach error's debugDescription if it equals to the localizedDescription
  • RoutableLogger dependency
  • Route all logs instead of using prints

Improved

  • Better compression logic to prevent excessive base64 encoding
  • Better deadlock case resolve
  • Better deadlock error message
  • Capture timestamp earlier

Released on 11/17/2021.

Changed

  • Do not add empty user info to error data

Removed

  • Carthage support is removed

Released on 11/17/2021.

Added

  • [Carthage] Use XCFrameworks

Deprecation

  • Carthage is deprecated and will be removed in the 10.0.0 version

Released on 11/17/2021.

Added

  • [RoutableLogger] Carthage support for all platforms

Released on 11/16/2021.

Added

  • [RoutableLogger] SPM support

Released on 11/16/2021.

Added

  • Add error debug description if it differs from default description under "debugDescription" key in data
  • Add error user info as "errorUserInfoJSON" or "errorUserInfo" if present
  • osX, tvOS and watchOS support
  • [RoutableLogger] logErrorOnceHandler and logErrorOnce

Changed

  • Lowered iOS deployment target to 9.0
  • [RoutableLogger] No output by default for data and verbose logs
  • [RoutableLogger] Output debug logs during develop builds only
  • [RoutableLogger] separation from LogsManager

Fixed

  • [LogsManager] Deadlock fix on double resume call

Released on 09/26/2021.

Removed

  • ExtensionSafe podspec
  • APPLICATION_EXTENSION_API_ONLY config for subspecs

Released on 09/26/2021.

Added

  • ExtensionSafe podspec
  • APPLICATION_EXTENSION_API_ONLY config for subspecs

Released on 09/26/2021.

Added

  • Allow to use per logger custom date formatters
  • Global async/sync message log flag - LoggersManager.logMessagesAsync
  • Auto-add localized description parameter to error data if it differ from the error message
  • Log errors sync and allow to alter this behavior via parameter
  • Log messages async and allow to alter this behavior via parameter
  • Logs pause/resume logic
  • logWarning for RoutableLogger

Released on 03/20/2021.

Fixed

  • Excessive CocoaLumberjack dependency for RoutableLogger subspec

Released on 03/20/2021.

Changed

  • Replaced RoutableLogger log functions with static methods

Released on 03/20/2021.

Fixed

  • Public access
  • Carthage

Released on 03/20/2021.

Added

  • Log level check for logError
  • Log level message filter to prevent performance impact
  • logErrorOnce method and function

Fixed

  • Logger remove

Improved

  • Concurrency safety
  • Generate normalized data and error during log message creation
  • Prevent excessive copy
  • String.getFileName(filePath:) speed up

Released on 11/06/2020.

Changed

  • Dropped iOS 8.0 support
  • Latest Lumberjack support

Released on 01/28/2020.

Added

  • CrashLogger
  • LogsManager .fileLogger
  • LogsManager .addFileLogger()
  • LogsManager .removeFileLogger()

Changed

  • Moved to String from StaticString type
  • Separated extension safe and unsafe parts

Released on 11/26/2019.

Added

  • Initialize log component

Released on 08/27/2019.

Added

  • Mute logger mode

Fixed

  • Message log level corresponds to its flag

Released on 08/16/2019.

Added

  • Added ability to specify specific components with specific log levels for them

Released on 08/16/2019.

Added

  • File name parameter for log component detection

Released on 08/16/2019.

Added

  • Restored ability to pass log components as a parameter if needed

Released on 08/15/2019.

Fixed

  • Fixed console logger missed data and error texts

Released on 08/15/2019.

Fixed

  • Public properties in DDLogMessage.Parameters

Released on 08/14/2019.

Fixed

  • Public normalizedData and normalizedError in DDLogMessage.Parameters

Released on 08/14/2019.

Changed

  • DDLogMessage tag property holds Parameters instead of array of log components
  • BaseAbstractTextLogger now also adds error description and data description to a formatted message

Removed

  • Removed ErrorLogger protocol. You can instead inherit from DDAbstractLogger, conform to BaseLogger and override log(message:). You can access needed parameters using message.parameters.

Renamed

  • BaseTextLogger -> BaseLogger
  • BaseAbstractLogger -> BaseAbstractTextLogger

Released on 08/09/2019.

Added

  • Logger mode documentation
  • Deinitialize component doc

Changed

  • Log name for deinit component
  • Removed first parameter name for all global log functions

Released on 07/02/2019.

Fixed

  • Concurrency crash fix

Released on 06/26/2019.

Fixed

  • Concurrency crash fix

Released on 06/24/2019.

Fixed

  • Intersection check fix

Released on 06/06/2019.

Fixed

  • Restored original log formatting
  • Fixed log message when error log doesn't contain any data

Released on 06/05/2019.

Changed

  • Different message format for file logs to simplify working with them using stream processing

Removed

  • Removed newLinesSeparation for file logger

Released on 06/05/2019.

Added

  • FileLogger to log into files

Released on 06/05/2019.

Changed

  • Loggers can be configured to log all components, listen to specific components or ignore some of them
  • Removed excessive flag param for error logs

Released on 06/04/2019.

Changed

  • Made parameters for component decision ordinary Strings.

Released on 06/03/2019.

Added

  • Log components simple cache

Released on 06/03/2019.

Changed

  • Removed logComponents param from all logs. Log components should be autodetected.

Released on 05/30/2019.

Added

  • Swift 5 support

Released on 02/11/2019.

Added