Expose __nslog that calls NSLog(@"%@", msg) under the hood so logs output can be performed in release builds

This commit is contained in:
Panayot Cankov
2017-11-01 10:14:00 +02:00
parent 339b1572ee
commit b55d27f786
2 changed files with 16 additions and 2 deletions

View File

@@ -9,9 +9,21 @@
#ifndef TNSProcess_h
#define TNSProcess_h
#import <Foundation/Foundation.h>
/**
* Get the milliseconds since the process started.
*/
double __tns_uptime();
/**
* Provides access to NSLog. The runtime implementation of console.log is filtered in release.
* We rarely need to log in release but in cases such as when logging app startup times in release,
* this will be convenient shortcut to NSLog, NSLog is not exposed.
*
* Please note the {N} CLI may be filtering app output, prefixing the message with "CONSOLE LOG"
* will make the logs visible in "tns run ios --release" builds.
*/
void __nslog(NSString* message);
#endif /* TNSProcess_h */

View File

@@ -8,8 +8,6 @@
#include "TNSProcess.h"
#import <Foundation/Foundation.h>
#include <sys/sysctl.h>
#include <sys/types.h>
#include <sys/time.h>
@@ -26,3 +24,7 @@ double __tns_uptime() {
return (double)(current.tv_sec - proc.kp_proc.p_starttime.tv_sec) * 1000.0 + (double)(current.tv_usec - proc.kp_proc.p_starttime.tv_usec) / 1000.0;
}
void __nslog(NSString* message) {
NSLog(@"%@", message);
}