[Champmodel] Logging

Dániel Krupp daniel.krupp at ericsson.com
Wed Apr 3 17:35:41 CEST 2013


Sziasztok,

Ha jól  látom már van egy logger itt:
https://plc.inf.elte.hu/model/trac/browser/branches/upcoming_odb/util/include/util/logger.h

hol használjuk ezt, érdemes lehet lecserélni Zoliéra?

Üdv,
D 



-----Original Message-----
From: champmodel-bounces at plc.inf.elte.hu [mailto:champmodel-bounces at plc.inf.elte.hu] On Behalf Of Zoltán Borók-Nagy
Sent: Wednesday, April 03, 2013 4:14 PM
To: Model project champions
Subject: [Champmodel] Logging

Sziasztok!

A múltkor felmerült a loggolás kérdése. Én régebben írtam egy loggert, amit most header-onlyvá alakítottam és CodeCompass-osítottam.
Feltöltöttem a sandbox/streamlog könyvtárba.

Feature-ök:
- header-only, méghozzá 1 db header-fájl
- operator<< használható logüzenetek írására
- thread-safe
- 5 log-level: DEBUG, INFO, WARNING, ERROR, CRITICAL
- fájlnév és sorszám bekerül az üzenetbe (__FILE__, __LINE__)
- alapértelmezetten stderror-ba ír, de megadható neki tetszőleges fájl is
- logüzenetek prefixének megadható komponens és szubkomponens
- NO_LOGGING define-olásával kikapcsolható a teljes logolás, gyakorlatilag semmiféle runtime költsége nem lesz ilyenkor

Használat:

A main elején opcionálisan konfigurálható néhány statikus metódus segítségével (ezek a műveletek nem thread-safe-ek):
    CodeCompass::StreamLog::setFile("log.log"); // default módon stderr-be logol
    CodeCompass::StreamLog::initialize("Component", "SubComponent"); // default prefix üres string
    CodeCompass::StreamLog::setLogLevel(CodeCompass::INFO); // default loglevel DEBUG

Utána a használat pedig így néz ki:

SLog() << "Debug üzenet " << 43434 << std::endl;
SLog(CodeCompass::WARNING) << a << " Üzenet " << d << 2.2345 << std::endl;

Szvsz jobb lenne ezt használni loggolásra, mint az std::cerr-t, már csak a szálbiztosság miatt is.

Üdv,
    Zoli




_______________________________________________
Champmodel mailing list
Champmodel at plc.inf.elte.hu
https://plc.inf.elte.hu/mailman/listinfo/champmodel


More information about the Champmodel mailing list