WPILibC++
2019.1.1-beta-1
|
Typedefs | |
typedef std::function< void(unsigned int level, const char *file, unsigned int line, const char *msg)> | nt::LogFunc |
Log function. More... | |
Functions | |
void | nt::SetLogger (LogFunc func, unsigned int min_level) |
Set logger callback function. More... | |
NT_Logger | nt::AddLogger (NT_Inst inst, std::function< void(const LogMessage &msg)> func, unsigned int min_level, unsigned int max_level) |
Add logger callback function. More... | |
NT_LoggerPoller | nt::CreateLoggerPoller (NT_Inst inst) |
Create a log poller. More... | |
void | nt::DestroyLoggerPoller (NT_LoggerPoller poller) |
Destroy a log poller. More... | |
NT_Logger | nt::AddPolledLogger (NT_LoggerPoller poller, unsigned int min_level, unsigned int max_level) |
Set the log level for a log poller. More... | |
std::vector< LogMessage > | nt::PollLogger (NT_LoggerPoller poller) |
Get the next log event. More... | |
std::vector< LogMessage > | nt::PollLogger (NT_LoggerPoller poller, double timeout, bool *timed_out) |
Get the next log event. More... | |
void | nt::CancelPollLogger (NT_LoggerPoller poller) |
Cancel a PollLogger call. More... | |
void | nt::RemoveLogger (NT_Logger logger) |
Remove a logger. More... | |
bool | nt::WaitForLoggerQueue (NT_Inst inst, double timeout) |
Wait for the incoming log event queue to be empty. More... | |
typedef std::function<void(unsigned int level, const char* file, unsigned int line, const char* msg)> nt::LogFunc |
Log function.
level | log level of the message (see NT_LogLevel) |
file | origin source filename |
line | origin source line number |
msg | message |
NT_Logger nt::AddLogger | ( | NT_Inst | inst, |
std::function< void(const LogMessage &msg)> | func, | ||
unsigned int | min_level, | ||
unsigned int | max_level | ||
) |
Add logger callback function.
By default, log messages are sent to stderr; this function sends log messages to the provided callback function instead. The callback function will only be called for log messages with level greater than or equal to min_level and less than or equal to max_level; messages outside this range will be silently ignored.
inst | instance handle |
func | log callback function |
min_level | minimum log level |
max_level | maximum log level |
NT_Logger nt::AddPolledLogger | ( | NT_LoggerPoller | poller, |
unsigned int | min_level, | ||
unsigned int | max_level | ||
) |
Set the log level for a log poller.
Events will only be generated for log messages with level greater than or equal to min_level and less than or equal to max_level; messages outside this range will be silently ignored.
poller | poller handle |
min_level | minimum log level |
max_level | maximum log level |
void nt::CancelPollLogger | ( | NT_LoggerPoller | poller | ) |
Cancel a PollLogger call.
This wakes up a call to PollLogger for this poller and causes it to immediately return an empty array.
poller | poller handle |
NT_LoggerPoller nt::CreateLoggerPoller | ( | NT_Inst | inst | ) |
Create a log poller.
A poller provides a single queue of poll events. The returned handle must be destroyed with DestroyLoggerPoller().
inst | instance handle |
void nt::DestroyLoggerPoller | ( | NT_LoggerPoller | poller | ) |
Destroy a log poller.
This will abort any blocked polling call and prevent additional events from being generated for this poller.
poller | poller handle |
std::vector<LogMessage> nt::PollLogger | ( | NT_LoggerPoller | poller | ) |
Get the next log event.
This blocks until the next log occurs.
poller | poller handle |
std::vector<LogMessage> nt::PollLogger | ( | NT_LoggerPoller | poller, |
double | timeout, | ||
bool * | timed_out | ||
) |
Get the next log event.
This blocks until the next log occurs or it times out.
poller | poller handle |
timeout | timeout, in seconds |
timed_out | true if the timeout period elapsed (output) |
void nt::RemoveLogger | ( | NT_Logger | logger | ) |
Remove a logger.
logger | Logger handle to remove |
void nt::SetLogger | ( | LogFunc | func, |
unsigned int | min_level | ||
) |
Set logger callback function.
By default, log messages are sent to stderr; this function changes the log level and sends log messages to the provided callback function instead. The callback function will only be called for log messages with level greater than or equal to min_level; messages lower than this level will be silently ignored.
func | log callback function |
min_level | minimum log level |
bool nt::WaitForLoggerQueue | ( | NT_Inst | inst, |
double | timeout | ||
) |
Wait for the incoming log event queue to be empty.
This is primarily useful for deterministic testing. This blocks until either the log event queue is empty (e.g. there are no more events that need to be passed along to callbacks or poll queues) or the timeout expires.
inst | instance handle |
timeout | timeout, in seconds. Set to 0 for non-blocking behavior, or a negative value to block indefinitely |