75 lines
2.3 KiB
Objective-C
75 lines
2.3 KiB
Objective-C
/*
|
|
* SULog.m
|
|
* EyeTV
|
|
*
|
|
* Created by Uli Kusterer on 12/03/2009.
|
|
* Copyright 2009 Elgato Systems GmbH. All rights reserved.
|
|
*
|
|
*/
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Headers:
|
|
// -----------------------------------------------------------------------------
|
|
|
|
#include "SULog.h"
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Constants:
|
|
// -----------------------------------------------------------------------------
|
|
|
|
static NSString *const SULogFilePath = @"~/Library/Logs/SparkleUpdateLog.log";
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// SUClearLog:
|
|
// Erase the log at the start of an update. We don't want to litter the
|
|
// user's hard disk with logging data that's mostly unused, so each app
|
|
// should clear the log before it starts updating, so only the most recent
|
|
// update is kept around.
|
|
//
|
|
// TAKES:
|
|
// sender - Object that sent this message, typically of type X.
|
|
//
|
|
// GIVES:
|
|
// param - who owns the returned value?
|
|
// result - same here.
|
|
// -----------------------------------------------------------------------------
|
|
|
|
void SUClearLog(void)
|
|
{
|
|
FILE *logfile = fopen([[SULogFilePath stringByExpandingTildeInPath] fileSystemRepresentation], "w");
|
|
if (logfile) {
|
|
fclose(logfile);
|
|
}
|
|
}
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// SULog:
|
|
// Like NSLog, but logs to one specific log file. Each line is prefixed
|
|
// with the current date and time, to help in regressing issues.
|
|
//
|
|
// TAKES:
|
|
// format - NSLog/printf-style format string.
|
|
// ... - More parameters depending on format string's contents.
|
|
// -----------------------------------------------------------------------------
|
|
|
|
void SULog(NSString *format, ...)
|
|
{
|
|
va_list ap;
|
|
va_start(ap, format);
|
|
NSString *theStr = [[NSString alloc] initWithFormat:format arguments:ap];
|
|
NSLog(@"Sparkle: %@", theStr);
|
|
|
|
FILE *logfile = fopen([[SULogFilePath stringByExpandingTildeInPath] fileSystemRepresentation], "a");
|
|
if (logfile) {
|
|
theStr = [NSString stringWithFormat:@"%@: %@\n", [NSDate date], theStr];
|
|
NSData *theData = [theStr dataUsingEncoding:NSUTF8StringEncoding];
|
|
fwrite([theData bytes], 1, [theData length], logfile);
|
|
fclose(logfile);
|
|
}
|
|
va_end(ap);
|
|
}
|
|
|
|
|