如何使Kaa日志上传事件而不是基于时间

时间:2018-02-07 20:57:48

标签: kaa

我最近才开始使用KaaIoT,我想知道是否有另一种方法可以存储降级到服务器的日志。

/* some headers */

static void main_callback(void *context)
{
    kaa_user_log_record_t *log_record = kaa_logging_time_collection_create();
    log_record->test_time = kaa_string_copy_create("some_time");
    kaa_logging_add_record(kaa_client_get_context(context)->log_collector, log_record, NULL);
}

/* some other configuration */

error = kaa_client_start(kaa_client, main_callback, kaa_client, 5);

当我执行此代码时,字符串“some_time”将每隔5秒存储到服务器。 我想知道是否有其他方法可以做到这一点,比如当我按下'enter'键时将日志上传到服务器?但我似乎找不到这个命令。

1 个答案:

答案 0 :(得分:0)

据我了解kaa_logging_add_record,只需根据您定义的日志记录策略将记录添加到等待发送的存储桶中。 (https://kaaproject.github.io/kaa/autogen-docs/client-c/v0.10.0/kaa__logging_8h.html#af0fadc09a50f5e38603271a08c581417)。 kaa_client_start中的参数5秒仅是循环回调函数的延迟。如果要注册事件,首先必须将其存储在日志存储桶中,如果要记录发生的时间,则必须将其存储在时间戳中。如果您想立即通知,我认为您应该使用通知或事件。我也在类似的东西中摸不着头脑,我想知道是否有更好的方法。