blob: 5bff38f284969b56d3fdb2c4413bce8e5bdeeb9c [file] [log] [blame]
Andrei Litvin56302302021-02-12 15:44:09 -05001/* See Project CHIP LICENSE file for licensing information. */
2
3#pragma once
4
Justin Wood0e149792022-01-06 21:52:51 +01005#include <lib/support/EnforceFormat.h>
Andrei Litvin56302302021-02-12 15:44:09 -05006#include <stdarg.h>
7#include <stdint.h>
8
9namespace chip {
10namespace Logging {
11namespace Platform {
12
13/**
14 * Log, to the platform-specified mechanism, the specified log
15 * message, @a msg, for the specified module, @a module, in the
16 * provided category, @a category.
17 *
18 * @param[in] module The name of the log module.
19 * @param[in] category A LogCategory enumeration indicating the
20 * category of the log message. The category
21 * may be filtered in or out if
22 * CHIP_LOG_FILTERING was asserted.
23 * @param[in] msg A pointer to a NULL-terminated C string with
24 * C Standard Library-style format specifiers
25 * containing the log message to be formatted and
26 * logged.
27 * @param[in] v A variadic argument list whose elements should
28 * correspond to the format specifiers in @a msg.
29 *
30 */
Justin Wood0e149792022-01-06 21:52:51 +010031void ENFORCE_FORMAT(3, 0) LogV(const char * module, uint8_t category, const char * msg, va_list v);
Andrei Litvin56302302021-02-12 15:44:09 -050032
33} // namespace Platform
34} // namespace Logging
35} // namespace chip