2010-11-24 10 views
2

Ich habe Log4cxx empfohlen, um eine gute Möglichkeit zum Erstellen von Protokollmeldungen aus C++ - Anwendungen zu erhalten. Einfache alte UNIX syslog() Aufrufe lassen mich jedoch in Dateien oder über das Netzwerk ausgeben und haben alle üblichen DEBUG/INFO/WARN/ERROR-Ebenen.Welche Vorteile bietet die Verwendung von log4cxx anstelle von plain syslog()?

log4cxx ist eindeutig modularer/anpassbarer, aber ich möchte mich wirklich nur in eine Datei einloggen, also kann ich mir nicht vorstellen, irgendwelche benutzerdefinierten Ausgabefunktionen schreiben zu müssen. Ich habe das Gefühl, dass ich etwas verpassen muss: Was gibt mir log4cxx über das reine Syslog hinaus? Performance? Robustheit? Portabilität?

Antwort

4

Portabilität.

Wenn Sie eines Tages Ihre Anwendung in eine Windows-Umgebung oder an eine andere Stelle verschieben, die syslog() nicht bereitstellt, müssen Sie Ihren Logger nicht neu schreiben.

2

Es gibt Ihnen die zweifelhafte Freude, ein Rad neu zu erfinden. Ich habe das Licht gesehen, und ich leuchte es. Unix funktioniert besser. Syslog().

+0

Möchten Sie näher erläutern, worum es bei syslog geht, das Sie bevorzugen, und wie es mit log4xx in den Bereichen verglichen wird, die für Sie wichtig sind? – kdt

+1

Portabilität ist eine Sache, nehme ich an. log4XXXXX ist so ziemlich eine Standard-API für alle Sprachen, aber ich lebe in Unix, und ich würde sagen, warum eine Ebene zum Loggen hinzufügen? Wenn Sie nichts merken können, syslog fehlt und mir nichts einfällt, warum nicht syslog verwenden? – chiggsy

Verwandte Themen