Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I'm writing an app for OS X, and I need to grab messages from the log to send back to our server for analysis/troubleshooting. I know I can use the Apple System Log (ASL) functions to get what I want, but would like to only get log messages for the current session. I could grab the time in my AppDelegate init method:

    // now minus one second
    NSDate *startTime = [NSDate dateWithTimeIntervalSinceNow:-1];

But was wondering if the system might have a more accurate record of when the app started. I've looked at NSProcessInfo, but don't see anything in there that would be relevant. Is there a way to determine a process' start time other than just recording the time in the app itself?

share|improve this question

1 Answer 1

up vote 7 down vote accepted

I do not have a Mac handy to verify if this works in OS X, but C standard library offers the clock() function in the <time.h> header, which could be used together with CLOCKS_PER_SEC to get the number of seconds that passed since the time when your program has launched.

EDIT

This should get you the time within one second from your program's launch, no matter at what point you invoke it:

NSDate *startTime = [NSDate dateWithTimeIntervalSinceNow:-clock()/CLOCKS_PER_SEC];
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com?utm_source=stackoverflow.com&amp;utm_medium=site-ui&amp;utm_campaign=footerlink\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2014 stack exchange inc; user contributions licensed under <a href=\"http://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a>                   with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2014.12.19.2131\r\n            </div>\r\n            \r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Stack Overflow works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </no"], "copyright__copyright__copyright": ["mber of seconds that passed since the time when your program has launched.\n\nEDIT\n\nThis should get you the time within one second from your program's launch, no matter at what point you invoke it:\n\nNSDate *startTime = [NSDate dateWithTimeIntervalSinceNow:-clock()/CLOCKS_PER_SEC];\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}