Home Tutorials Fortgeschritten Datei-Logging mit NSLog - 2. Datei-Logging-Funktion erstellen

iPhone Gewinnspiel

Datei-Logging mit NSLog
Datei-Logging mit NSLog - 2. Datei-Logging-Funktion erstellen PDF Drucken E-Mail
Share
Geschrieben von: Philipp   
THURSDAY, 13 MARCH 2008 00:55
Beitragsindex
Datei-Logging mit NSLog
1. NSLog() kurz erklärt
2. Datei-Logging-Funktion erstellen
3. NSLog() überschreiben
Alle Seiten



2. Datei-Logging-Funktion erstellen

Ok, kommen wir zum eigentlichen Thema.
Um in eine Datei zu loggen, sollten wir ersteinmal festlegen wo die Datei liegt und wie diese heißen soll:
#define KLOGGING_PATH @"/private/var/mobile/Library/ApplicationName"
#define KLOGGING_FILE @"debug.log"

Nun eine Funktion, welche die gleichen Parameter hat wie NSLog()und dann selber diese in usere Logging Datei schreibt und zusätzlich nocheinmal NSLog() aufruft.
void FileLog(NSString *format, ...)
{
      va_list ap;
      NSString *print;
      va_start(ap,format);
      print=[[NSString alloc] initWithFormat:format arguments:ap];
      va_end(ap);
       
      // create directory   
      [[NSFileManager defaultManager] createDirectoryAtPath:KLOGGING_PATH attributes:nil];
 
      // open file and create if not exist
      FILE *f = fopen([NSString stringWithFormat:@"%@/%@", KLOGGING_PATH, KLOGGING_FILE], "a");

      // write to file
      fprintf(f, "%s: %s\r\n", [[[NSDate date] description] UTF8String], [print UTF8String]);
      fclose(f);
   
      // write to console
      NSLog(print);

      [print release];
}
Innerhalb der Funktion machen wir also nichts anderes, als erst alle Parameter zu lesen, dann das Logging-Verzeichnis zu erstellen (falls es noch nicht existiert), die Logging-Datei in dem Logging-Verzeichnis zu erstellen , aber auch nur falls sie noch nicht existiert und zu guter letzt die tatsächliche Meldung mit dem aktuellen Datum in die Datei schreiben.
Achso, das Loggen auf Konsole erledigen wir dann natürlich auch noch.



Kommentare (1)
Erweitertes NSLog(...)
1 WEDNESDAY, 16 APRIL 2008 05:37
???
Sehr praktisch,

werde ich mal bei mir einbauen.

mfg hpm

Ihren Kommentar hinzufügen

Ihr Name:
Ihre Webseite:
Betreff:
Kommentar:
  Bild, welches den Sicherheitscode enthält
Sicherheitscode:
LAST_UPDATED2