The KPN SenML library helps you create and parse senml documents in both json and cbor format. The library can be used for sending sensor data and receiving actuator commands.

Fork of kpn_senml by KPN IoT

senml_logging.h

Committer:
kpniot
Date:
2018-05-27
Revision:
2:9b44be6e79ac
Parent:
0:a9259748d982

File content as of revision 2:9b44be6e79ac:

/*  _  __  ____    _   _ 
 * | |/ / |  _ \  | \ | |
 * | ' /  | |_) | |  \| |
 * | . \  |  __/  | |\  |
 * |_|\_\ |_|     |_| \_|
 * 
 * (c) 2018 KPN
 * License: MIT License.
 * Author: Jan Bogaerts
 * 
 * logging
 */

#ifndef SENMLLOGGING
#define SENMLLOGGING

#ifdef __MBED__
    #include "mbed.h"
    #include "sstream"
#else
    #include <stream.h>
#endif

//contains a referenc to the global logger object assigned to the module
extern Stream* _senml_logger;

/**
 * Assign a stream to the library that can be used to write log information to.
 * @param logger a stream object that will be used for logging. 
 * @returns none
 */
void senMLSetLogger(Stream* logger);

#ifndef log_debug
    #ifdef __MBED__
        #define log_debug(...)  if(_senml_logger) {_senml_logger->printf(__VA_ARGS__); _senml_logger->printf("\n\r"); }
    #else    
        #define log_debug(...)  if(_senml_logger) _senml_logger->println(__VA_ARGS__)
    #endif
#endif


#endif // SENMLLOGGING