C++ log rutin stringstream

 ( makgab | 2015. június 18., csütörtök - 13:32 )

Üdv!

Tud valaki javasolni C++-hoz log rutin megoldást amivel stringstream-et tudok logba tenni?
A standard syslog() néztem, de nem C++-hoz való.
A log4cpp bonyolultnak tűnik.

Szóval van ötlete valakinek?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Találtam egy Logger class-t (Logger.cpp, Logger.h). Egész jónak tűnik, talán ez lesz a megfelelő.

syslog-ba akarsz írni syslog nélkül? Magyar szóval egy wrapper kellene?

Nem a syslog-ba, csak néztem a syslog()-ot is. Inkább "helybe" logolnék.

Hát, ha ez unix, akkor egy append-re megnyitott fájlt javasolnék

"A standard syslog() néztem, de nem C++-hoz való."

Attól még lehet használni(Qt):

#include <syslog.h>

static const char *LOG_ID = "MyApp";

openlog(LOG_ID, LOG_PERROR | LOG_CONS, LOG_LOCAL0);
syslog(LOG_DEBUG, "Starting App");
syslog(LOG_DEBUG, "Start writing, repoIdx:%d, filename:%s, usb:%s", repoIdx, filename.toStdString().c_str(), usb ? "true":"false");

Igen, de a fordító a 'char *'-ra figyelmeztet is. Valóban csak szivat az a 'char *'.
Az említett Logger class bevált (ha jól néztem innnen való). Helybe logol, így nem keveredik a system logokkal.

> Igen, de a fordító a 'char *'-ra figyelmeztet is.

Csak úgy általában, vagy konkrétan ír valami szöveget?

Úgy általában warning-ol...

+1

https://github.com/google/glog
Egyszerubb, mint a log4cpp.