Open62541取消日志的打印
由于Open62541默认会打印日志,当实现重连OPC UA Server机制后,日志信息非常的频繁,不太适合自己当前的服务端日志风格,故而禁止Open62541打印日志信息。
#include
#include
#include
#include
#include using namespace std;static void logOut(void *logContext, UA_LogLevel level, UA_LogCategory category, const char *msg, va_list args)
{return;
}static void logClear(void *logContext)
{return;
}const UA_Logger opcuaLog = { logOut, NULL, logClear };int main()
{/* Create a client and connect */UA_Client *client = UA_Client_new();// UA_ClientConfig_setDefault(UA_Client_getConfig(client));// UA_ClientConfigUA_ClientConfig *cliCfg = UA_Client_getConfig(client);cliCfg->timeout = 5000;cliCfg->secureChannelLifeTime = 3000;cliCfg->logger = opcuaLog;// 设置UA_Client的配置UA_ClientConfig_setDefault(cliCfg);UA_StatusCode status = UA_Client_connect(client, "opc.tcp://localhost:4841");if(status != UA_STATUSCODE_GOOD) {UA_Client_delete(client);return status;}UA_Variant value;UA_Variant_init(&value);status = UA_Client_readValueAttribute(client, UA_NODEID_STRING(1, "the.answer"), &value);if(status == UA_STATUSCODE_GOOD && UA_Variant_hasScalarType(&value, &UA_TYPES[UA_TYPES_INT32])) {printf("the value is: %i\n", *(UA_Int32*)value.data);}UA_Variant_clear(&value);UA_Client_delete(client);return status == UA_STATUSCODE_GOOD ? EXIT_SUCCESS : EXIT_FAILURE;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
