diff options
author | Thomas Van Lenten <thomasvl@google.com> | 2016-02-23 12:40:30 -0500 |
---|---|---|
committer | Thomas Van Lenten <thomasvl@google.com> | 2016-02-23 12:40:30 -0500 |
commit | 55d88cb7b554029228a2d0e6e0624a429b66ed27 (patch) | |
tree | 3f93a9c4567520dd9738c1581186a64cbf15f9b9 | |
parent | e2a081579316bc905905e83acb5be55fd9aab508 (diff) |
On iOS devices allow the current user/app to read the log messages it generates.
-rw-r--r-- | Foundation/GTMLogger+ASL.h | 1 | ||||
-rw-r--r-- | Foundation/GTMLogger+ASL.m | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/Foundation/GTMLogger+ASL.h b/Foundation/GTMLogger+ASL.h index 3b41e68..b9a932e 100644 --- a/Foundation/GTMLogger+ASL.h +++ b/Foundation/GTMLogger+ASL.h @@ -93,6 +93,7 @@ @interface GTMLoggerASLClient : NSObject { @private aslclient client_; + aslmsg msgOptions_; } // Designated initializer, |facility| is supplied to asl_open(). diff --git a/Foundation/GTMLogger+ASL.m b/Foundation/GTMLogger+ASL.m index 43375fe..3b35361 100644 --- a/Foundation/GTMLogger+ASL.m +++ b/Foundation/GTMLogger+ASL.m @@ -148,11 +148,26 @@ return nil; // COV_NF_END } +#if TARGET_OS_IPHONE + // On iOS we need to flag the messages as available for read so + // asl_search() can see our own output. + msgOptions_ = asl_new(ASL_TYPE_MSG); + if ((msgOptions_ == NULL) || + (asl_set(msgOptions_, + ASL_KEY_READ_UID, + [[NSString stringWithFormat:@"%d", getuid()] UTF8String]) != 0)) { + // COV_NF_START - no real way to test this + [self release]; + return nil; + // COV_NF_END + } +#endif } return self; } - (void)dealloc { + if (msgOptions_ != NULL) asl_free(msgOptions_); if (client_ != NULL) asl_close(client_); [super dealloc]; } @@ -161,7 +176,7 @@ // logs with test messages. // COV_NF_START - (void)log:(NSString *)msg level:(int)level { - asl_log(client_, NULL, level, "%s", [msg UTF8String]); + asl_log(client_, msgOptions_, level, "%s", [msg UTF8String]); } // COV_NF_END |