Logging
Additional attributes
As described in previous sections, certain log message attributes, such as a timestamp, are automatically added to all generated messages. The library also defines some attributes that can be used for application-specific needs:
code
: arbitrary integer value (e.g. error code)details
: description string (e.g. error message)
// EXAMPLE - specifying additional attributes
SerialLogHandler logHandler;
int connect() {
return ECONNREFUSED; // Return an error
}
void setup() {
Log.info("Connecting to server");
int error = connect();
if (error) {
// Get error message string
const char *message = strerror(error);
// Log message with additional attributes
Log.code(error).details(message).error("Connection error");
}
}
void loop() {
}
The example application specifies code
and details
attributes for the error message, generating the following logging output:
0000000084 [app] INFO: Connecting to server
0000000087 [app] ERROR: Connection error [code = 111, details = Connection refused]