file_logger.h

Metrics Collector source.

Author

Sifli software development team

Typedefs

typedef enum fl_err_tag fl_err_t
typedef bool (*fl_iter_cb_t)(void *data, uint32_t data_len, void *arg)

Enums

enum fl_err_tag

Values:

enumerator FL_OK
enumerator FL_ERROR
enumerator FL_NOT_INIT
enumerator FL_INVALID_DATA_LEN
enumerator FL_WRITE_ERR
enumerator FL_READ_ERR

Functions

void *file_logger_init(const char *name, uint32_t max_len)

Create a file logger

If the file already exists, it would be opened for write, otherwise a new file is created

参数:
  • name[in] file full path

  • max_len[in] file max size

返回:

file logger handle

fl_err_t file_logger_write(void *logger, void *data, uint32_t data_len)

Write data in file logger

参数:
  • logger[in] file logger handle created by file_logger_init

  • data[in] point to data to be written

  • data_len[in] data length in byte

返回:

result

fl_err_t file_logger_write_noheader(void *logger, void *data, uint32_t data_len)

Write data in file logger without header before each write action

参数:
  • logger[in] file logger handle created by file_logger_init

  • data[in] point to data to be written

  • data_len[in] data length in byte

返回:

result

fl_err_t file_logger_iter(void *logger, fl_iter_cb_t cb, void *arg)

Iterate all data in file logger in write sequence

参数:
  • logger[in] file logger handle created by file_logger_init

  • cb[in] callback for each data

  • arg[in] argument which would be passed to callback

返回:

result

fl_err_t file_logger_clear(void *logger)

Clear all data in file logger

参数:
  • logger[in] file logger handle created by file_logger_init

返回:

result

fl_err_t file_logger_flush(void *logger)

Flush all data to storage, ensure all data is written in storage instead of remaining in cache

参数:
  • logger[in] file logger handle created by file_logger_init

返回:

result

fl_err_t file_logger_close(void *logger)

close the file logger

Pending data would be flushed

参数:
  • logger[in] file logger handle created by file_logger_init

返回:

result