- New
willLogMessage:anddidLogMessage:methods onDDFileLoggerwhich provide access to the current log file info.
- Additional compatibility with Swift 5 (backwards compatible with Swift 4) (#1043)
- Fix warning building with Xcode 10.2 (#1059)
- Set Xcode 10.2 and Swift 5.0 as a default (#1064)
- Fix format string crash (#1066)
- Fix warning about syntax (#1054) (#1065)
- Remove banned APIs (#1056) (#1057)
- Add CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER & fix warnings (#1059)
- Use LLONG_MAX instead of LONG_LONG_MAX (#1062)
- Fix reusing of log files after rolling (#1042)
- Fix creation of too many log files (#1049)
- Preliminary compatibility with Swift 5 (backwards compatible with Swift 4) (#1044)
- core: loggers os logger variations have been added (#1039)
- Sync internal queues to prevent cleaning up log files too soon in tests (#1053)
- DDLog checks for NULL values and for global queue dispatching has been added (#1045)
- Fix high CPU usage because of empty fileAttributes and / or too high rollingFrequceny (#1028)
- Added
logFileHeaderproperty toDDLogFileManagerDefault. Override to set header for each created file. #998 DDFileLoggernow accepts adispatch_queue_twhich it uses to run callbacks. If not provided, the default global queue is used. #1003- Added opt-in buffering to
DDFileLogger. CallwrapWithBufferto create a file logger which buffers. #1001, #1012 - Add
DDAssertandDDAssertionFailurefunctions for Swift #934 - Add
DD_LOG_LEVELdefine (which can be set inGCC_PREPROCESSOR_DEFINITIONS) for Swift to set default log level (enables stripping for strings that are not logged). #952 - Add
asyncLoggingEnabledglobal variable to control asynchronous logging. #1019
- Prevent memory access errors caused by a failed fetch #944
- Fix common warnings emitted by
-Wall,-Wconversion,-Wextra, etc #943, #931 - Fixes issue that could cause log messages to become interleaved when there are multiple
DDFileLoggers #985 DispatchQueueFormatterknows aboutcom.apple.root.default-qos.overcommitnow #932- Fix thread safety issues in
DDFileLogger. Makes it a little harder to deadlock in some cases. #986, #1003, #946 - Fix availability checks and memory leak #996
- Reduce podspec to two subspecs and remove customized modulemap #976
- Add danger support for PR checks #962 - fixes #956
- Merged framework targets + using
xcconfig+ deployment targetiOS 8andMac OS 10.10#959 e97da34 - Documentation update #955 e7414ae 0239196 #933
- Full links to Docs and other resources so they are resolved on external pages (i.e. https://cocoapods.org/pods/CocoaLumberjack) e9d6971
- Replace
OSAtomicwithstdatomicinDDDispatchQueueLogFormatter#957 #958 - Add Stale Bot + configuration #953
- Update to Xcode 10 and Swift 4.2 compiler #950
- Xcode 10 scheme changes #949
- Update incomplete BSD 3-Clause License #942
- Updated to CocoaPods 1.5.3 2d0590f
- Use Xcode 9.4 image for tests #939
- Xcode (schemes) version bumps #938
- Update demo and documentation about CustomLogLevels #1023
- Update README.md #912
- Fixed typo in pull request template #913
- Fix
-Wimplicit-retain-selfwarnings #915 - Update memory management in dynamic logging #916
- Xcode 9.3 support #921 #923 #926 #927
- Add extern "C" for Objective-C++ #922
- Add
flushmethod to theDDFileLogger#928
- Fix
DDLogFileManagerDefault-isLogFile#909 - Fix locking the main thread #911
- Fix Travis CI #895
- Fix typos #896
- Fix schemes and link errors #897 #899 #903 #907
- Xcode 9 support and Swift 4 support #890 #893
- Replace
OSSpinLockwithpthread_mutex#889
- Xcode 9 beta support #874 #873 #884 #883 #882
- Fixed some issues around deleting log files #868 #879
- update 'Use Log Level per Logger' doc #888
- Remove empty asset catalogs so that they don't show up in Open Quickly #877
- Fixed typo in pull request template #880
- Xcode 8.3 support #860 #853
- added a very basic
os_log(unified logging) logger #850 #856 - Use
NSFileProtectionTypeinstead ofNSString#866 - Optimized timestamp calculation in
DDTTYLogger#851 - Updated docs #864
- Fix Travis #863
- Fixed nullability of
DDLogMessage.function#849DDExtractFileNameWithoutExtension#845 - Ignore
Carthage/Builddirectory #862 - Updated schemes #859 #857
- Swift 3.0.1 and Xcode 8.1 support via #816
- Fix Carthage build and updated the podspec structure #819 #818 #784 #790 #782 #778 #815
- Fix CLIColor.h not included in umbrella header #781 #796 #813 #783
- Fix crash in
[DDLog log:level:flag:context:file:function:line:tag:format:]#831 #830 - Code improvements:
- using class properties #779
- nullability #803 #809 #776
- fix static analyzer issues #822 #828
- optimized
USE_DISPATCH_CURRENT_QUEUE_LABELandUSE_DISPATCH_GET_CURRENT_QUEUEmacros #829 - fixed dispatch_source_set_timer() usage #834
- fixed misuse of non null parameter in
DDFileLogger fileAttributes#835 - store calendar in logger queue specifics for multi-thread safety #837
- reenable default
initmethod forDDLogMessageclass #838
- Added option to not copy messages #832
- Added new hooks when adding loggers and formatters #836
- Ability to create new log files every day #736
- Skip messages in ASL logger which are filtered out by the formatter #786 #742
- Fixed #823 by adding a
hashimplementation forDDFileLogger- same asisEqual, it only considers thefilePath7ceed08 - Fix Travis CI build #807
- Updated docs #798 #808 #811 #810 #820
- Swift 3.0 and Xcode 8 support via #769, fixes #771 and #772. Many thanks to @ffried @max-potapov @chrisdoc @BarakRL @devxoul and the others who contributed
- Swift 2.3 explicit so that the project compiles on Xcode 8 - #747 #773 fix #762 #763 #766
- CocoaPods 1.0.0 fully adopted - 0f5a793 637dfc1 70439fe #729
- Fix CLIColor.h not found for non-AppKit binaries w/o clang modules #745
- Retrieve the
DDLogLevelof each logger associated toDDLog#753 - updated doc: #727 a9f54c9 #741, diagrams in 8bd128d
- Added CONTRIBUTING, ISSUE and PULL_REQUEST TEMPLATE and added a small Communication section to the Readme
- Fixed an issue with one demo #760
- Updated to Swift 2.2 - #704
- replaced deprecated
__FUNCTION__,__FILE__,__LINE__with newly added to Swift 2.2:#function,#file,#line - Xcode 7.3 update - #692 #662
- simplify usage and integration of the static library target - #657
- DDLog usable via instances - #679
- Swift cleanup - #649
- Enable Application extension API only for tvOS - #701
- Added
appletvosandappletvsimulatortoSUPPORTED_PLATFORMSand setTVOS_DEPLOYMENT_TARGET- #707 - fixed
OSSpinLockinit issue - #653 - Added check to prevent duplicate loggers - #682
- fixed typo in import - #693
- updated the docs - #646 #650 #656 #655 #661 #664 #667 #684 #724
- added
tvOSsupport (thanks @sinoru) - #634 #640 #630 #628 #618 #611 - Remove
(escaping)from the Swift@autoclosureparameters - #642
- Fixed the version for the Carthage builds - see #633
- Improved documentation
- Refactored the
NSDateFormatterrelated code to fix a bunch of issues: #621 - Fix Issue #488: Support
DDLogwithoutAppKit Dependency(#define DD_CLI): #627 - Re-add
NS_DESIGNATED_INITIALIZER#619
- Updated the library to use Swift 2.0 and Xcode 7 #617 #545 #534
- WatchOS support (2.0) #583 #581 #579
- Compatibility with Xcode 6 that was broken by the 2.0.2 patch - f042fd3
- Swift 1.2 fixes #546 #578 plus and update to Swift 2.0 5627dff imported from our swift_2.0 branch
- Make build work on
tvOS#597 - Make
CocoaLumberjackSwift-iOStarget depends onCocoaLumberjack-iOS#575 APPLICATION_EXTENSION_API_ONLYtoYESfor Extensions #576- Remove unnecessary
NS_DESIGNATED_INITIALIZERs #593 fixes #592 - Add ignore warning mark for
DDMakeColor#553 - Kill unused function warnings from
DDTTYLogger.h#613 - Flag unused parameters as being unused to silence strict warnings #566
- Extend ignore unused warning pragma to cover all platforms #559
- Removed images.xcassets from Mobile project #580
- Silence the Xcode 7 upgrade check - #595
- Fix import for when CL framework files are manually imported into project #560
- Don't override defines in case they're already set at project level #551
- log full filepath when failing to set attribute #550
- Fix issue in standalone build with
DDLegacyMacros.h#552 - Update
CustomFormatters.mdwith proper thread-safe blurb #555 - typo in parameter's variable name fixed #568
- Typo: minor fix #571
- Surely we should be adding 1, not 0 for
OSAtomicAdd32? #587 rollLogFileWithCompletionBlockcalls back on background queue instead of main queue #589- Removing extraneous
\on line 55 #600 - Updated
GettingStarted.mdto includeddLogLevel#602 - Remove redundant check for
processorCountavailability #604
- Carthage support #521 #526
- fixed crash on
DDASLLogCapturewhenTIMEorTIME_NSECisNULL#484 - Swift fixes and improvements: #483 #509 #518 #522 5eafceb
- Unit tests: #500 #498 #499
- Fix #478 by reverting #473
- Add
armv7sto static library #538 - Fix
NSLogthreadidmismatch with iOS 8+/OSX 10.10+ #514 - Fixed the
LogVmacros so that avalist is no longer undefined #511 - Using type safe
DDColoralias instead of #define directive #506 - Several fixes/tweaks to
DDASLLogCapture#512 - Prevent duplicate log entries when both
DDASLLogCaptureandDDASLLoggerare used #515 - Fix memory leaks in
DDTTYLogger, add self annotations to blocks #536 - Update older syntax to modern subscripting for array access #482
- Remove execute permission on non-executable files #517
- Change code samples to use
DDLogFlagWarning#520 - Fix seemingly obvious typo in the
toLogLevelfunction #508
The library was strongly refactored, with a few goals in mind:
- Swift support - that we will release in a separate milestone, since CocoaPods 0.36.0 just got out
- Unit tests support
- reorganised things (on disk)
- better coding style
- Bucket of Swift improvements - #434 #437 #449 #440
- Fixed #433 (build issue due to dispatch_queue properties) - #455
- Enable codesign for iOS device framework builds - #444
- Declare
automaticallyAppendNewlineForCustomFormattersproperties asnonatomic- #443 - Warning fixes & type standardization - #419
- Legacy checks updated - #424
- Documentation updates
- Fix
dispatch_queue_tproperties. - Fix
registeredClassescrashes at launch.
- Major refactoring and clean up.
- Remove superfluous
logfrom property names and use underscore for direct variable access. - Preliminary Swift support through
CocoaLumberjack.swift. - Automatic 1.9.x legacy support when
DDLog.his imported instead of the newCocoaLumberjack.h.
- Modernize flag variables to be
NS_OPTIONS/NS_ENUM. - Change the log flags and levels to
NSUInteger. - Fix warning when compiled with assertions blocked.
- Crash fixes.
- Cleanup code.
- Match
NSLogread UID functionality inDDASLLogger. - Update framework and static libraries.
- Fixed
NSCalendar components:fromDate:crash - #140 #307 #216 - New
DDAssertmacros - #306 - Limit log growth by disk space only, not the number of files - #195 #303
- Change the mechanism for adding new line character (i.e. '\n) to log messages in some logger - #308 #310
- Fixed deprecations - #320 #312 #317
aslmsgnot freed and causing memory leak - #314- Fixed
CompressingLogFileManagercompression bug - #315 - Remove unnecessary
NULLcheck beforefree()- #316
- Fixed issues in rolling frequency - #243 #295 @georgekola
- Fixed critical issue,
addLoggermethod should use a full bit mask instead ofLOG_LEVEL_VERBOSE, otherwise extended logs or extra flags are ignored fe6824c @robbiehanson - Performance optimisation: use compiler macros to skip iOS version checks - 4656d3b #298 #291 @robbiehanson @liviur
- Changed the
Build Active Architecture OnlytoNO#294 #293 - Optimisation by reusing
NSDateFormatterinstances #296 #301
- New ASL capture module #242 #263
- Override default
NSFileProtectionhandling #285 - Replaced warnings when ARC was not enabled with errors #284
- Fix for issue #278 where really large log files can keep growing #280
- Fixed Xcode warnings #279
- Update
calendarUnitFlagswith new iOS SDK values #277 - Fix possible crash in
[NSCalendar components:fromDate:]#277 - Fix #262 inverted ifs when renaming log #264
- Proper way of doing singletons (via
dispatch_once) #259 - Explicitly declare
DDFileLoggerandDDDispatchQueueLogFormatterproperties as atomic to avoid Xcode warnings #258 - Set
NSFileProtectionKeyon the temporary file created during compression #256 - Fix a rare crash in
CompressingLogFileManagercaused by an unchecked result from read #255 - Add explicit casts for integer conversion #253
- Replace use of
NSThread.detachNewThreadSelector#251 - Add a constructor override for
initWithLogsDirectory:#252 - Check and log the streamError whenever we fail to write during compression and log any failures when removing the original file or cleaning up the temporary file after compression failed #250
- Following Apple's guidelines for iOS Static Libraries #249
- Some extra warnings for the mobile framework xcode project a2e5666
- Update
FineGrainedLoggingAppDelegate.m#244 - New
[DDLog log:message:]primitive 7f8af2e - Fixed issue #181 when logging messages in iOS7 devices aren't properly retrieved by
asl_search#240 - Allow prevention of log file reuse #238
DDTTYLogger: Favour XcodeColors environment variable #237DDLog: callingatexit_bin CLI applications, that use Foundation framework #234
- read access to all loggers - #217 #219
- fixed bug with archived logs not being handled correctly on iOS simulator - #218
- log the
strerror(errno)value whensetxattr()fails - #211 - Add a check for an archived log before overwriting - #214
- improved safety by using assertions instead of comments (
DDLogin the core) - #221 - added Lumberjack logo :)
DDFileLoggercustom logfile (name) format - #208- Security static analysis fix - #202
DDFileLogger: usingCFBundleIdentifieras a log filename prefix on OSX and iOS - #206- Allow disabling of specific levels per-logger - #204
- Improve support for OS X command line tools - #194
DDFileLogger: fixed crash that occurred in case if application name == nil - #198DDFileLogger: fixed comment - #199- Fix Travis - #205
- fixed compatibility with Xcode 4.4+ #187
DDFileLogger refactoring and fixes (thanks @dvor and @an0):
- Fixed #63 Loggers don't flush in Command Line Tool #184
- Fixed #52 Force log rotation #183
- Fixed #55 After deleting log file or log dir they aren't created again without relaunching the app #183
- Fixed #129 [iOS]
DDFileLoggercauses crash when logging from background app #183 - Fixed #153 Log file on iPhone only contains a single line #177
- Fixed #155 How do I combine all my log levels into one file? #177
- Fixed #175
DFileLoggercreationDatebug on 64-bit iOS system #177 - Allow customizing the naming convention for log files to use timestamps #174
Other:
- Implemented multiple formatter (
DDMultiFormatter- alows chaining of formatters) #178 - Added DD prefix to extension classes (
ContextFilterLogFormatterandDispatchQueueLogFormatter) #178 - Updated code indentation: Tabs changed to spaces #180
- Included
DDLog+LOGV.hin Cocoapods sources d253bd7 - other fixes/improvements
- "Fix" conflicts with 3rd party libraries using
CocoaLumberjack#172 - Ignore deprecated warning for
dispatch_get_current_queue#167 - Add new
DEBUGlog level support to included loggers #166 - Method declarations that make it easier to extend/modify
DispatchQueueLogFormatter#164
- Add
LOGV-style macros #161 - Fix getting queue's label #159
- New log level
DEBUG#145 - Use
DISPATCH_CURRENT_QUEUE_LABELif available #159 - Different
logLevelper each logger #151 - Created 2 subspecs,
CoreandExtensions#152 - Updated observer for keypath using
NSStringFromSelector+@selector38e5da3 - Replaced
idreturn type withinstancetypeebee454 - Remove implicit conversion warnings #149
DDTTYLogger: Allow to set default color profiles for all contexts at once #146 #158DDTTYLogger: By default applysetForegroundColor:backgroundColor:forFlag:toLOG_CONTEXT_ALL#154DispatchQueueLogFormatter: Use modern Objective-C #142DispatchQueueLogFormatter: Make sure to always use aNSGregorianCalendarfor date formatter #142- Replaced explicit reference to class name in
logFileWithPathfactory method #131 - Catch exceptions in
logMessage:#130 - Fix enum type conversion warnings #124
- Add deployment target condition for workaround #121
- Fix static analyzer warnings about
nilvalues in dictionary #122 - Fix
dispatch_get_current_queuecrash #121 - Fixing colors in greyscale color-space not working d019cfd
- Guard around
dispatch_resume()being called with null pointer #107 NULLsafety checks #107