#include <iostream>
#include <cstdarg>
#include <cmath>
class Asic_logger {
public:
enum Verbosity {
LOG_DEBUG,
LOG_INFO,
LOG_NOTICE,
LOG_WARNING,
LOG_ERROR,
LOG_FATAL
};
Asic_logger() {}
virtual ~Asic_logger() {}
virtual void set_log_level(Verbosity _verbosity) { verbosity = _verbosity; }
virtual void log(int line, const char * func, const char * file, Verbosity verb, const char * format, ...)
{
va_list args;
va_start (args, format);
vprintf (format, args);
va_end (args);
}
private:
Verbosity verbosity;
};
int main()
{
Asic_logger log;
log.log(__LINE__, __FUNCTION__, __FILE__, Asic_logger::LOG_DEBUG, "%s\n", "Vasya");
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGFyZz4KI2luY2x1ZGUgPGNtYXRoPgogCmNsYXNzIEFzaWNfbG9nZ2VyIHsKcHVibGljOgoJZW51bSBWZXJib3NpdHkgewoJCUxPR19ERUJVRywKCQlMT0dfSU5GTywKCQlMT0dfTk9USUNFLAoJCUxPR19XQVJOSU5HLAoJCUxPR19FUlJPUiwKCQlMT0dfRkFUQUwKCX07CglBc2ljX2xvZ2dlcigpIHt9Cgl2aXJ0dWFsIH5Bc2ljX2xvZ2dlcigpIHt9Cgl2aXJ0dWFsIHZvaWQgc2V0X2xvZ19sZXZlbChWZXJib3NpdHkgX3ZlcmJvc2l0eSkgeyB2ZXJib3NpdHkgPSBfdmVyYm9zaXR5OyB9Cgl2aXJ0dWFsIHZvaWQgbG9nKGludCBsaW5lLCBjb25zdCBjaGFyICogZnVuYywgY29uc3QgY2hhciAqIGZpbGUsIFZlcmJvc2l0eSB2ZXJiLCBjb25zdCBjaGFyICogZm9ybWF0LCAuLi4pCgl7CgkJdmFfbGlzdCBhcmdzOwoJCXZhX3N0YXJ0IChhcmdzLCBmb3JtYXQpOwoJCXZwcmludGYgKGZvcm1hdCwgYXJncyk7CgkJdmFfZW5kIChhcmdzKTsKCX0KcHJpdmF0ZToKCVZlcmJvc2l0eSB2ZXJib3NpdHk7Cn07CiAKaW50IG1haW4oKSAKewogICAgQXNpY19sb2dnZXIgbG9nOwogICAgbG9nLmxvZyhfX0xJTkVfXywgX19GVU5DVElPTl9fLCBfX0ZJTEVfXywgQXNpY19sb2dnZXI6OkxPR19ERUJVRywgIiVzXG4iLCAiVmFzeWEiKTsKfQ==