Fusion360-Addons/usr/Include/Core/Common/vtLogTools.h
2021-10-31 19:39:29 +01:00

49 lines
1.3 KiB
C++

#ifndef _VTLOG_TOOLS_H_
#define _VTLOG_TOOLS_H_
#include "xLogger.h"
//////////////////////////////////////////////////////////////////////////
//
//
// We different output channels for logging,debugging or assertions :
// + console
// + log file
// + std::err
class CKContext;
class CKGUID;
namespace vtTools
{
class BehaviorInfoTools
{
public :
static const char*getBuildingBlockName(CKContext *ctx,CKGUID* guid);
};
}
#define XL_BB_NAME beh->GetPrototype()->GetName()
#define XL_BB_OWNER_SCRIPT beh->GetOwnerScript()->GetName()
#define XL_BB_OWNER_OBJECT beh->GetOwner() ? beh->GetOwner()->GetName() : "none"
#define XL_BB_SIGNATURE ("\n\tScript : %s\n\tBuildingBlock : %s \n\tObject :%s Error :")
#define XLOG_FMT(msg,extro) msg##extro
#define XLOG_MERGE(var, fmt) (#var##fmt )
#define XLOG_MERGE2(var,fmt) (var##fmt)
#define XLOG_BB_INFO xLogger::xLogExtro(0,XL_BB_SIGNATURE,XL_BB_OWNER_SCRIPT,XL_BB_NAME,XL_BB_OWNER_OBJECT)
#define VTERROR_STRING(F) sErrorStrings[F]
#define bbError(F) XLOG_BB_INFO; \
Error(beh,F,BB_OP_ERROR,VTERROR_STRING(F),TRUE,BB_O_ERROR,TRUE)
#define bbNoError(F) Error(beh,F,BB_OP_ERROR,VTERROR_STRING(F),FALSE,BB_O_ERROR,FALSE)
#define bbErrorMesg(F) xLogger::xLog(ELOGERROR,E_BB,F); \
XLOG_BB_INFO;
#endif