mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-11 08:50:24 +00:00
Add a function to disable all logging at runtime (#528)
* Implement a runtime disable for all logging * Update the changelog * Inline the function * Flip the scrip
This commit is contained in:
parent
884a4f56f1
commit
16ce3c9a33
@ -11,6 +11,7 @@
|
|||||||
- Remove re-entrant access to self.view when applying initial pending state. [Adlai Holler](https://github.com/Adlai-Holler) [#510](https://github.com/TextureGroup/Texture/pull/510)
|
- Remove re-entrant access to self.view when applying initial pending state. [Adlai Holler](https://github.com/Adlai-Holler) [#510](https://github.com/TextureGroup/Texture/pull/510)
|
||||||
- Small improvements in ASCollectionLayout [Huy Nguyen](https://github.com/nguyenhuy) [#509](https://github.com/TextureGroup/Texture/pull/509) [#513](https://github.com/TextureGroup/Texture/pull/513)
|
- Small improvements in ASCollectionLayout [Huy Nguyen](https://github.com/nguyenhuy) [#509](https://github.com/TextureGroup/Texture/pull/509) [#513](https://github.com/TextureGroup/Texture/pull/513)
|
||||||
- Fix retain cycle between ASImageNode and PINAnimatedImage [Phil Larson](https://github.com/plarson) [#520](https://github.com/TextureGroup/Texture/pull/520)
|
- Fix retain cycle between ASImageNode and PINAnimatedImage [Phil Larson](https://github.com/plarson) [#520](https://github.com/TextureGroup/Texture/pull/520)
|
||||||
|
- Change the API for disabling logging from a compiler flag to a runtime C function ASDisableLogging(). [Adlai Holler](https://github.com/Adlai-Holler) [#528](https://github.com/TextureGroup/Texture/pull/528)
|
||||||
- Table and collection views to consider content inset when calculating (default) element size range [Huy Nguyen](https://github.com/nguyenhuy) [#525](https://github.com/TextureGroup/Texture/pull/525)
|
- Table and collection views to consider content inset when calculating (default) element size range [Huy Nguyen](https://github.com/nguyenhuy) [#525](https://github.com/TextureGroup/Texture/pull/525)
|
||||||
|
|
||||||
##2.4
|
##2.4
|
||||||
|
|||||||
@ -21,16 +21,27 @@
|
|||||||
#import <os/log.h>
|
#import <os/log.h>
|
||||||
#import <os/activity.h>
|
#import <os/activity.h>
|
||||||
|
|
||||||
#ifndef ASEnableLogs
|
|
||||||
#define ASEnableLogs 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ASEnableVerboseLogging
|
#ifndef ASEnableVerboseLogging
|
||||||
#define ASEnableVerboseLogging 0
|
#define ASEnableVerboseLogging 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ASDISPLAYNODE_EXTERN_C_BEGIN
|
ASDISPLAYNODE_EXTERN_C_BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable all logging.
|
||||||
|
*
|
||||||
|
* You should only use this function if the default log level is
|
||||||
|
* annoying during development. By default, logging is run at
|
||||||
|
* the appropriate system log level (see the os_log_* functions),
|
||||||
|
* so you do not need to worry generally about the performance
|
||||||
|
* implications of log messages.
|
||||||
|
*
|
||||||
|
* For example, virtually all log messages generated by Texture
|
||||||
|
* are at the `debug` log level, which the system
|
||||||
|
* disables in production.
|
||||||
|
*/
|
||||||
|
void ASDisableLogging();
|
||||||
|
|
||||||
/// Log for general node events e.g. interfaceState, didLoad.
|
/// Log for general node events e.g. interfaceState, didLoad.
|
||||||
#define ASNodeLogEnabled 1
|
#define ASNodeLogEnabled 1
|
||||||
os_log_t ASNodeLog();
|
os_log_t ASNodeLog();
|
||||||
|
|||||||
@ -11,27 +11,41 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#import <AsyncDisplayKit/ASLog.h>
|
#import <AsyncDisplayKit/ASLog.h>
|
||||||
|
#import <stdatomic.h>
|
||||||
|
|
||||||
|
static atomic_bool __ASLogEnabled = ATOMIC_VAR_INIT(YES);
|
||||||
|
|
||||||
|
void ASDisableLogging() {
|
||||||
|
static dispatch_once_t onceToken;
|
||||||
|
dispatch_once(&onceToken, ^{
|
||||||
|
atomic_store(&__ASLogEnabled, NO);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ASDISPLAYNODE_INLINE BOOL ASLoggingIsEnabled() {
|
||||||
|
return atomic_load(&__ASLogEnabled);
|
||||||
|
}
|
||||||
|
|
||||||
os_log_t ASNodeLog() {
|
os_log_t ASNodeLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASNodeLogEnabled) ? as_log_create("org.TextureGroup.Texture", "Node") : OS_LOG_DISABLED);
|
return (ASNodeLogEnabled && ASLoggingIsEnabled()) ? ASCreateOnce(as_log_create("org.TextureGroup.Texture", "Node")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_log_t ASLayoutLog() {
|
os_log_t ASLayoutLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASLayoutLogEnabled) ? as_log_create("org.TextureGroup.Texture", "Layout") : OS_LOG_DISABLED);
|
return (ASLayoutLogEnabled && ASLoggingIsEnabled()) ? ASCreateOnce(as_log_create("org.TextureGroup.Texture", "Layout")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_log_t ASCollectionLog() {
|
os_log_t ASCollectionLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASCollectionLogEnabled) ? as_log_create("org.TextureGroup.Texture", "Collection") : OS_LOG_DISABLED);
|
return (ASCollectionLogEnabled && ASLoggingIsEnabled()) ?ASCreateOnce(as_log_create("org.TextureGroup.Texture", "Collection")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_log_t ASDisplayLog() {
|
os_log_t ASDisplayLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASDisplayLogEnabled) ? as_log_create("org.TextureGroup.Texture", "Display") : OS_LOG_DISABLED);
|
return (ASDisplayLogEnabled && ASLoggingIsEnabled()) ?ASCreateOnce(as_log_create("org.TextureGroup.Texture", "Display")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_log_t ASImageLoadingLog() {
|
os_log_t ASImageLoadingLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASImageLoadingLogEnabled) ? as_log_create("org.TextureGroup.Texture", "ImageLoading") : OS_LOG_DISABLED);
|
return (ASImageLoadingLogEnabled && ASLoggingIsEnabled()) ? ASCreateOnce(as_log_create("org.TextureGroup.Texture", "ImageLoading")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os_log_t ASMainThreadDeallocationLog() {
|
os_log_t ASMainThreadDeallocationLog() {
|
||||||
return ASCreateOnce((ASEnableLogs && ASMainThreadDeallocationLogEnabled) ? as_log_create("org.TextureGroup.Texture", "MainDealloc") : OS_LOG_DISABLED);
|
return (ASMainThreadDeallocationLogEnabled && ASLoggingIsEnabled()) ? ASCreateOnce(as_log_create("org.TextureGroup.Texture", "MainDealloc")) : OS_LOG_DISABLED;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user