void post_logs_with_http_cont_lz4_log_option()

in sample/log_post_logs_sample.c [12:125]


void post_logs_with_http_cont_lz4_log_option()
{

    sls_log_init(LOG_GLOBAL_ALL);

    int i = 0;
    for (i = 0; i < 10; ++i)
    {
        log_group_builder *bder = log_group_create();
        add_source(bder, "10.230.201.117", sizeof("10.230.201.117"));
        add_topic(bder, "post_logs_with_http_cont_lz4_log_option",
                  sizeof("post_logs_with_http_cont_lz4_log_option"));

        add_tag(bder, "taga_key", strlen("taga_key"), "taga_value",
                strlen("taga_value"));
        add_tag(bder, "tagb_key", strlen("tagb_key"), "tagb_value",
                strlen("tagb_value"));
        add_pack_id(bder, "123456789ABC", strlen("123456789ABC"), 0);

        int x;
        for (x = 0; x < POST_LOG_COUNT; x++)
        {
            char * keys[POST_LOG_CONTENT_PAIRS];
            char * values[POST_LOG_CONTENT_PAIRS];
            size_t key_lens[POST_LOG_CONTENT_PAIRS];
            size_t val_lens[POST_LOG_CONTENT_PAIRS];
            int j = 0;
            for (j = 0; j < POST_LOG_CONTENT_PAIRS; j++)
            {

                keys[j] = (char *)malloc(64);
                sprintf(keys[j], "key_%d", x * j);
                values[j] = (char *)malloc(64);
                sprintf(values[j], "value_%d", 2 * j);
                key_lens[j] = strlen(keys[j]);
                val_lens[j] = strlen(values[j]);
            }
            add_log_full(bder, time(NULL), POST_LOG_CONTENT_PAIRS, keys, key_lens, values, val_lens);
            for (j = 0; j < POST_LOG_CONTENT_PAIRS; j++)
            {
                free(keys[j]);
                free(values[j]);
            }
        }

        // if you want to use this functions, add `-DADD_LOG_KEY_VALUE_FUN=ON` for cmake. eg `cmake . -DADD_LOG_KEY_VALUE_FUN=ON`
#ifdef LOG_KEY_VALUE_FLAG
        for (x = 0; x < POST_LOG_COUNT; x++)
        {
            int j = 0;
            add_log_begin(bder);
            for (j = 0; j < POST_LOG_CONTENT_PAIRS; j++)
            {
                char key[64];
                sprintf(key, "add_key_%d", x * j);
                char value[64];
                sprintf(value, "add_value_%d", 2 * j);
                add_log_key_value(bder, key, strlen(key), value, strlen(value));
                if (j == POST_LOG_CONTENT_PAIRS / 2)
                {
                    add_log_time(bder, time(NULL));
                }
            }

            add_log_end(bder);
        }

#endif

        log_post_option option;
        memset(&option, 0, sizeof(log_post_option));
        option.interface = NULL;
        option.connect_timeout = 15;
        option.operation_timeout = 15;
        option.compress_type = i % 2 == 0;
        lz4_log_buf *pLZ4Buf = NULL;
        if (option.compress_type == 1)
        {
            printf("post log with lz4 \n");
            pLZ4Buf = serialize_to_proto_buf_with_malloc_lz4(bder);
        }
        else
        {
            printf("post log with no compress \n");
            pLZ4Buf = serialize_to_proto_buf_with_malloc_no_compress(bder);
        }

        log_group_destroy(bder);
        if (pLZ4Buf == NULL)
        {
            printf("serialize_to_proto_buf_with_malloc_lz4 failed\n");
            exit(1);
        }
        post_log_result * rst = post_logs_from_lz4buf(LOG_ENDPOINT, ACCESS_KEY_ID,
                                                 ACCESS_KEY_SECRET, NULL,
                                                 PROJECT_NAME, LOGSTORE_NAME,
                                                 pLZ4Buf, &option,
                                                 AUTH_VERSION_1, NULL);
        printf("result %d %d \n", i, rst->statusCode);
        if (rst->errorMessage != NULL)
        {
            printf("error message %s \n", rst->errorMessage);
        }

        if (rst->requestID != NULL)
        {
            printf("requestID %s \n", rst->requestID);
        }
        post_log_result_destroy(rst);
        free_lz4_log_buf(pLZ4Buf);
    }

    sls_log_destroy();
}