[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