• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Custom log file for NSLog
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Custom log file for NSLog


  • Subject: Re: Custom log file for NSLog
  • From: Torsten Curdt <email@hidden>
  • Date: Tue, 5 May 2009 02:05:58 +0200

Have a look here:

http://github.com/tcurdt/feedbackreporter/blob/443300c21f6b7c5b70298edd861b4b2017a97b00/Sources/Main/FRConsoleLog.m

HTH
--
Torsten

On Mon, May 4, 2009 at 22:49, Randall Meadows <email@hidden> wrote:
> I want to have a custom log file for my app, so that my client can send it
> to me when things go "different".
>
> In reading the docs for NSLog, it seems that it is just a front-end for asl.
>  So here's what I thought should work:
>
> directories = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
> NSUserDomainMask, YES);
> NSString *logFileName = nil;
> int result = 0;
> if ([directories count] > 0) {
>   logFileName = [directories objectAtIndex:0];
>   logFileName = [logFileName stringByAppendingPathComponent:@"Logs"];
>   if ([fileMgr createDirectoryAtPath:logFileName
> withIntermediateDirectories:YES attributes:nil error:nil]) {
>      logFileName = [logFileName
> stringByAppendingPathComponent:@"MyLogFile.log"];
>      int fd = open([logFileName fileSystemRepresentation],
> (O_RDWR|O_CREAT|O_TRUNC), (S_IRWXU|S_IRWXG|S_IRWXO));
>      if (fd != -1) {
>         result = asl_add_log_file(NULL, fd);
>      }
>   }
> }
>
> This results in the file being created, but nothing ever being written to
> it.  In Console.app, I can see the messages when I select "All Messages",
> "Console Messages", and "system.log", but *not* "MyLogFile.log".
>
> I assume it has something to do with this comment in the docs for NSLogv
> (which NSLog calls): "If the STDERR_FILENO file descriptor has been
> redirected away from the default or is going to a tty, it will also be
> written there. If you want to direct output elsewhere, you need to use a
> custom logging facility."  This seems contradictory to the statement that
> NSLog "Logs an error message to the Apple System Log facility."  If anyone
> would like to educate me on my obvious misunderstanding of this, I'd
> appreciate it.
>
> Anyway, I tried it, and yes, redirecting stderr to my log file does put all
> my NSLogs into my log file.  But, it also prevents the messages from being
> seen in Xcode's Console window.
>
> How can I have my cake and eat it too?
>
>
> randy
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Custom log file for NSLog
      • From: Citizen <email@hidden>
References: 
 >Custom log file for NSLog (From: Randall Meadows <email@hidden>)

  • Prev by Date: Adding objects to NSMutableArray out of order?
  • Next by Date: Re: drawing image
  • Previous by thread: Custom log file for NSLog
  • Next by thread: Re: Custom log file for NSLog
  • Index(es):
    • Date
    • Thread