1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <iostream> #include <sstream> #include <string> typedef int LogLevel; bool isEnabled(LogLevel l){ return true; } namespace logger{ void log(LogLevel l, std::string const& msg){ std::cout << "(Level: " << l << "): " << msg << "\n"; } } #define DEBUG_LOG(Level, What) \ isEnabled(Level) && scoped_logger(Level, __FILE__, __LINE__).stream() << What struct scoped_logger { scoped_logger(LogLevel level, char const* file, unsigned line) : _level(level) { _ss << file << "(" << line << ") [" << getpid() << "] : "; } std::stringstream& stream(){ return _ss; } ~scoped_logger(){ logger::log(_level, _ss.str()); } private: std::stringstream _ss; LogLevel _level; }; int main(){ DEBUG_LOG(0, "Hello, " << "World!"); } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnR5cGVkZWYgaW50IExvZ0xldmVsOwoKYm9vbCBpc0VuYWJsZWQoTG9nTGV2ZWwgbCl7CiAgcmV0dXJuIHRydWU7Cn0KCm5hbWVzcGFjZSBsb2dnZXJ7CiAgdm9pZCBsb2coTG9nTGV2ZWwgbCwgc3RkOjpzdHJpbmcgY29uc3QmIG1zZyl7CiAgICBzdGQ6OmNvdXQgPDwgIihMZXZlbDogIiA8PCBsIDw8ICIpOiAiIDw8IG1zZyA8PCAiXG4iOwogIH0KfQoKI2RlZmluZSBERUJVR19MT0coTGV2ZWwsIFdoYXQpIFwKICBpc0VuYWJsZWQoTGV2ZWwpICYmIHNjb3BlZF9sb2dnZXIoTGV2ZWwsIF9fRklMRV9fLCBfX0xJTkVfXykuc3RyZWFtKCkgPDwgV2hhdAoKc3RydWN0IHNjb3BlZF9sb2dnZXIKewogIHNjb3BlZF9sb2dnZXIoTG9nTGV2ZWwgbGV2ZWwsIGNoYXIgY29uc3QqIGZpbGUsIHVuc2lnbmVkIGxpbmUpCiAgICA6IF9sZXZlbChsZXZlbCkKICB7IF9zcyA8PCBmaWxlIDw8ICIoIiA8PCBsaW5lIDw8ICIpIFsiIDw8IGdldHBpZCgpIDw8ICJdIDogIjsgfQoKICBzdGQ6OnN0cmluZ3N0cmVhbSYgc3RyZWFtKCl7IHJldHVybiBfc3M7IH0KICB+c2NvcGVkX2xvZ2dlcigpeyBsb2dnZXI6OmxvZyhfbGV2ZWwsIF9zcy5zdHIoKSk7IH0KcHJpdmF0ZToKICBzdGQ6OnN0cmluZ3N0cmVhbSBfc3M7CiAgTG9nTGV2ZWwgX2xldmVsOwp9OwoKaW50IG1haW4oKXsKICBERUJVR19MT0coMCwgIkhlbGxvLCAiIDw8ICJXb3JsZCEiKTsKfQo=
-
upload with new input
-
result: Compilation error
-
result: Success time: 0.02s memory: 2860 kB returned value: 0
(Level: 0): prog.cpp(34) [11141] : Hello, World!


