Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSLog() and stderr



Damien Sorresso <email@hidden> writes:
> I'm trying to redirect NSLog()'s output to a file. Since it writes to
> stderr, I should be able to do this with
>
> stderr->_write = my_stderr_write ,
>
> where `my_stderr_write' is a pointer to one of my functions. This
> works just fine if I use fprintf() to write to stderr, but NSLog()
> stubbornly refuses to call my function. What exactly is NSLog() doing
> here that is so special?


You can try to do something like this in your main() function:

#ifndef USE_STDOUT_LOG
    char fullpath[MAXPATHLEN+1];
    sprintf(fullpath, "/Users/%s/Library/Logs/MyProgram.log", getlogin());

    int fd = open(fullpath, O_WRONLY | O_APPEND | O_CREAT | O_TRUNC, 0664);
    if (fd > 0) {
        dup2(fd, STDOUT_FILENO);
        dup2(fd, STDERR_FILENO);
        close(fd);
    }
#endif    


All the best,
Aleksandr Skobelev
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.