#ifndef VFS_H
#define VFS_H
+#include <syslog.h>
#include <dmlite/cpp/authn.h>
#include <dmlite/cpp/catalog.h>
#include <dmlite/cpp/dmlite.h>
#include <dmlite/cpp/io.h>
#include <dmlite/cpp/poolmanager.h>
+
#ifdef DEBUG
-#include <syslog.h>
+ #ifdef __GNUC__
+ #define debug(MSG, ARGS...) syslog(LOG_DEBUG, "%s::%s(): " MSG, getImplId().c_str(), __func__, ##ARGS)
+ #else
+ #define debug(MSG, ...) syslog(LOG_DEBUG, "%s::%s(): " MSG, getImplId().c_str(), __func__ , ##__VA_ARGS)
+ #endif
#else
-#define syslog
-#define LOG_DEBUG 0
+ #define debug
#endif
-
#ifdef __GNUC__
#define vfsThrowErrno(MSG...) dmlite::vfsThrowHelper(getImplId(), __func__, DMLITE_SYSERR(errno) , ##MSG)
#define vfsThrow(CODE, MSG...) dmlite::vfsThrowHelper(getImplId(), __func__, (CODE) , ##MSG)
#define wrapCall(RETVAL, MSG...) dmlite::vfsWrapCallHelper(getImplId(), __func__, (RETVAL) , ##MSG)
+ #define log(LEVEL, MSG, ARGS...) syslog((LEVEL), "%s::%s(): " MSG, getImplId().c_str(), __func__ , ##ARGS)
#else
#define vfsThrowErrno(MSG, ...) dmlite::vfsThrowHelper(getImplId(), __func__, DMLITE_SYSERR(errno), (MSG) , ##__VA_ARGS__)
#define vfsThrow(CODE, MSG, ...) dmlite::vfsThrowHelper(getImplId(), __func__, (CODE), (MSG) , ##__VA_ARGS__)
#define wrapCall(RETVAL, ...) dmlite::vfsWrapCallHelper(getImplId(), __func__, (RETVAL) , ##__VA_ARGS__)
+ #define log(LEVEL, MSG, ...) syslog((LEVEL), "%s::%s(): " MSG, getImplId().c_str(), __func__ , ##__VA_ARGS)
#endif
namespace dmlite {