2 Stimmen

Wie logge ich auf dem Mac in eine Datei (ähnlich wie bei log4net)?

Für meine Mac-App möchte ich eine Protokolldatei auf der Festplatte erstellen, ähnlich wie die von log4net auf der Windows-Seite erstellten. Dinge, die ich gerne hätte, sind ein Datumsstempel, Protokollierungsstufen (Debug, Info, Warning, Error) usw., und ich würde es bevorzugen, nicht alles von Grund auf neu zu erstellen.

Sowohl VMWare Fusion als auch JollysFastVNC tun etwas Ähnliches wie das, was ich suche, wenn auch ohne die Protokollstufen.

Das Protokollieren in der Konsole mit NSLog() reicht mir einfach nicht aus.

Wie mache ich das?

1 Stimmen

4voto

Barry Wark Punkte 106328

Es gibt zwei systemweite Protokollierungs-APIs auf OS X: syslog und asl. Das zweite, Apple System Logger, oder ASL ist ziemlich leistungsstark und kann als Grundlage für Anwendungsprotokollierung zur Systemkonsole und/oder zu einer separaten Datei verwendet werden.

Die ASL-API ist rein in C. Es ist jedoch nicht schwierig, sie in Objective-C zu kapseln. Das Google Toolbox für Mac hat ein schönes Protokollierungssystem, einschließlich ASL-Unterstützung (siehe GTMLogger+ASL) und eine Ringpuffer-Implementierung.

0 Stimmen

Das ist die beste Einführung in ASL, die ich bisher gefunden habe: boredzo.org/blog/archives/2008-01-20/why-asl

0 Stimmen

Die Serie von Peter Hosey über ASL ist auf jeden Fall ein Muss. Mit GTMs GTMLogger+ASL kannst du jedoch fast alle Details überspringen und es einfach nutzen.

1 Stimmen

Ich habe tatsächlich GTMLogger verwendet und es tut ungefähr genau das, was ich brauche.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X