This repository has been archived on 2023-01-27. You can view files and clone it, but cannot push or open issues or pull requests.
cad/fusion360/usr/Include/Core/Common/vtLogTools.h
2022-10-15 19:16:08 +02: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