tvOS
support (thanks @sinoru) - #634 #640 #630 #628 #618 #611(escaping)
from the Swift @autoclosure
parameters - #642NSDateFormatter
related code to fix a bunch of issues: #621DDLog
without AppKit Dependency
(#define DD_CLI
): #627NS_DESIGNATED_INITIALIZER
#619tvOS
#597CocoaLumberjackSwift-iOS
target depends on CocoaLumberjack-iOS
#575APPLICATION_EXTENSION_API_ONLY
to YES
for Extensions #576NS_DESIGNATED_INITIALIZER
s #593 fixes #592DDMakeColor
#553DDTTYLogger.h
#613DDLegacyMacros.h
#552CustomFormatters.md
with proper thread-safe blurb #555OSAtomicAdd32
? #587rollLogFileWithCompletionBlock
calls back on background queue instead of main queue #589\
on line 55 #600GettingStarted.md
to include ddLogLevel
#602processorCount
availability #604DDASLLogCapture
when TIME
or TIME_NSEC
is NULL
#484armv7s
to static library #538NSLog
threadid
mismatch with iOS 8+/OSX 10.10+ #514LogV
macros so that avalist is no longer undefined #511DDColor
alias instead of #define directive #506DDASLLogCapture
#512DDASLLogCapture
and DDASLLogger
are used #515DDTTYLogger
, add self annotations to blocks #536DDLogFlagWarning
#520toLogLevel
function #508The library was strongly refactored, with a few goals in mind:
automaticallyAppendNewlineForCustomFormatters
properties as nonatomic
- #443dispatch_queue_t
properties.registeredClasses
crashes at launch.log
from property names and use underscore for direct variable access.CocoaLumberjack.swift
.DDLog.h
is imported instead of the new CocoaLumberjack.h
.NS_OPTIONS
/NS_ENUM
.NSUInteger
.NSLog
read UID functionality in DDASLLogger
.NSCalendar components:fromDate:
crash - #140 #307 #216DDAssert
macros - #306aslmsg
not freed and causing memory leak - #314CompresingLogFileManager
compression bug - #315NULL
check before free()
- #316addLogger
method should use a full bit mask instead of LOG_LEVEL_VERBOSE
, otherwise extended logs or extra flags are ignored fe6824c @robbiehansonBuild Active Architecture Only
to NO
#294 #293NSDateFormatter
instances #296 #301NSFileProtection
handling #285calendarUnitFlags
with new iOS SDK values #277[NSCalendar components:fromDate:]
#277dispatch_once
) #259DDFileLogger
and DDDispatchQueueLogFormatter
properties as atomic to avoid Xcode warnings #258NSFileProtectionKey
on the temporary file created during compression #256CompressingLogFileManager
caused by an unchecked result from read #255NSThread.detachNewThreadSelector
#251initWithLogsDirectory:
#252FineGrainedLoggingAppDelegate.m
#244[DDLog log:message:]
primitive 7f8af2easl_search
#240DDTTYLogger
: Favour XcodeColors environment variable #237DDLog
: calling atexit_b
in CLI applications, that use Foundation framework #234strerror(errno)
value when setxattr()
fails - #211DDLog
in the core) - #221DDFileLogger
custom logfile (name) format - #208DDFileLogger
: using CFBundleIdentifier
as a log filename prefix on OSX and iOS - #206DDFileLogger
: fixed crash that occurred in case if application name == nil - #198DDFileLogger
: fixed comment - #199DDFileLogger
refactoring and fixes (thanks @dvor and @an0):
DDFileLogger
causes crash when logging from background app #183DFileLogger
creationDate
bug on 64-bit iOS system #177Other:
DDMultiFormatter
- alows chaining of formatters) #178ContextFilterLogFormatter
and DispatchQueueLogFormatter
) #178DDLog+LOGV.h
in Cocoapods sources d253bd7CocoaLumberjack
#172dispatch_get_current_queue
#167DEBUG
log level support to included loggers #166DispatchQueueLogFormatter
#164LOGV
-style macros #161DEBUG
#145DISPATCH_CURRENT_QUEUE_LABEL
if available #159logLevel
per each logger #151Core
and Extensions
#152NSStringFromSelector
+ @selector
38e5da3id
return type with instancetype
ebee454DDTTYLogger
: Allow to set default color profiles for all contexts at once #146 #158DDTTYLogger
: By default apply setForegroundColor:backgroundColor:forFlag:
to LOG_CONTEXT_ALL
#154DispatchQueueLogFormatter
: Use modern Objective-C #142DispatchQueueLogFormatter
: Make sure to always use a NSGregorianCalendar
for date formatter #142logFileWithPath
factory method #131logMessage:
#130nil
values in dictionary #122dispatch_get_current_queue
crash #121dispatch_resume()
being called with null pointer #107NULL
safety checks #107