承接第55篇文章,本文讲述如何使用syslog来查看open62541生成的日志,配合使用VSCode的logviewer扩展,可以很方便的查看log。
注意,syslog只能在linux下使用。
一 开启syslog
在open62541的CMakeLists.txt里搜索syslog,
可以看到如果运行环境是Linux或者Unix,会自动添加syslog相关的文件到编译列表里。
还要保证linux系统里安装了syslog,可以去/var/log/下查看是否有syslog
二 安装Log Viewer
请参考这篇文章
三 使用syslog
main.c内容如下,第17行把config->logger设置成syslog,UA_Log_Syslog()是在log_syslog.h里定义的
#include#include "open62541.h" UA_Boolean running = true; void signalHandler(int sig) { running = false; } int main(void) { signal(SIGINT, signalHandler); UA_Server *server = UA_Server_new(); UA_ServerConfig *config = UA_Server_getConfig(server); config->logger = UA_Log_Syslog(); UA_ServerConfig_setDefault(config); UA_StatusCode status = UA_Server_run(server, &running); UA_Server_delete(server); return status; }
然后重新Build,成功后先打开Log Viewer,(因为本人事先清理了一下,所以显示为空)
此时我们运行一下main,如下,
可以看到打印的log都通过syslog进行显示了。


![学习open62541 --- [56] 使用syslog 学习open62541 --- [56] 使用syslog](http://www.mshxw.com/aiimages/31/312539.png)
