本节提供有关用于侦听日志事件的 MGM API 函数的信息。
- 描述
此函数用于侦听日志事件,这些事件是从返回文件描述符中读取的。事件使用基于文本的格式,与集群日志中的格式相同。
- 签名
int ndb_mgm_listen_event ( NdbMgmHandle handle, const int filter[] )
- 参数
-
这个函数有两个参数:
一个
NdbMgmHandle
handle
。A
filter
由一系列{level, ndb_mgm_event_category}
对(在单个数组中)组成,这些对被推送到文件描述符。用于0
终止列表的级别。
- 返回值
要从中读取事件的文件描述符。
- 描述
此函数用于创建日志事件句柄。
- 签名
NdbLogEventHandle ndb_mgm_create_logevent_handle ( NdbMgmHandle handle, const int filter[] )
- 参数
-
这个函数有两个参数:
一个
NdbMgmHandle
handle
。A
filter
由一系列{level, ndb_mgm_event_category}
对(在单个数组中)组成,这些对被推送到文件描述符。用于0
终止列表的级别。
- 返回值
日志事件句柄。
- 描述
当不再需要时,使用此函数销毁日志事件句柄。
- 签名
void ndb_mgm_destroy_logevent_handle ( NdbLogEventHandle* handle )
- 参数
指向日志事件的指针
handle
。- 返回值
没有。
- 描述
NdbMgmLogEventHandle
此函数从; 检索文件描述符 该描述符可用于(例如)应用程序select()
调用。
不要尝试读取此函数返回的文件描述符;这会导致描述符损坏。
- 签名
int ndb_logevent_get_fd ( const NdbLogEventHandle handle )
- 参数
一个
LogEventHandle
。- 返回值
文件描述符。如果失败,
-1
则返回。
- 描述
此函数用于检索下一个日志事件,使用事件中的数据填充提供的
ndb_logevent
结构。- 签名
int ndb_logevent_get_next ( const NdbLogEventHandle handle, struct ndb_logevent* logevent, unsigned timeout )
在 NDB 7.3 之前,日志事件
ndb_mgm_event_category
被转换为一种enum
类型。这种行为虽然不正确,但会干扰现有应用程序并在 NDB 7.3.7 中恢复;ndb_logevent_get_next2()
在同一个版本中添加了
一个展示更正行为的新函数
。
- 参数
-
此函数需要三个参数:
一个
NdbLogEventHandle
指向
ndb_logevent
数据结构 的指针超时前等待事件的毫秒数;传递
0
此参数会导致函数阻塞,直到收到下一个日志事件
- 返回值
-
此函数返回的值解释如下:如果返回值小于或等于零,则
logevent
不会以任何方式改变或影响。> 0
:事件存在,并且它的数据被检索到logevent
0
:等待事件时发生超时(超过timeout
毫秒)< 0
: 发生错误。
- 描述
此函数用于检索下一个日志事件,使用事件中的数据填充提供的
ndb_logevent
结构。
ndb_logevent_get_next2()
在 NDB 7.3.7 中添加。对于不需要向后兼容性的应用程序,它旨在作为
ndb_logevent_get_next()
更正该函数对结构的处理的
替代品。ndb_mgm_event_category
它在其他方面与 相同
ndb_logevent_get_next()
。
- 签名
int ndb_logevent_get_next2 ( const NdbLogEventHandle handle, struct ndb_logevent* logevent, unsigned timeout )
- 参数
-
此函数需要三个参数:
一个
NdbLogEventHandle
指向
ndb_logevent
数据结构 的指针超时前等待事件的毫秒数;传递
0
此参数会导致函数阻塞,直到收到下一个日志事件
- 返回值
-
此函数返回的值解释如下:如果返回值小于或等于零,则
logevent
不会以任何方式改变或影响。> 0
:事件存在,并且它的数据被检索到logevent
0
:等待事件时发生超时(超过timeout
毫秒)< 0
: 发生错误。
- 描述
此函数从最近的错误中检索错误代码。
您可能更喜欢使用
ndb_logevent_get_latest_error_msg()
。参见
ndb_logevent_get_latest_error_msg()
- 签名
int ndb_logevent_get_latest_error ( const NdbLogEventHandle handle )
- 参数
日志事件句柄。
- 返回值
错误代码。