Sample for the FluentLogger library.

Dependencies:   EthernetInterface FluentLogger mbed-rtos mbed

Fluentd Logo

Example for simple message logging.

main.cpp

#include "mbed.h"
#include "rtos.h"
#include "EthernetInterface.h"
#include "FluentLogger.h"

EthernetInterface eth;
FluentLogger logger("192.168.0.1");  // please set your Fluentd server

int main() 
{
    eth.init(); //Use DHCP
    eth.connect();

    while(1) {
        logger.log("debug.mbed", "Hello mbed"); //message body is simple string
        wait_ms(10000);
    }
    logger.close();
    eth.disconnect();  
}

Server Configuration

Fluentd daemon must be lauched with the following configuration:

<source>
  type tcp
  port 24224
</source>

<match debug.**>
  type stdout
</match>
Committer:
YuuichiAkagawa
Date:
Tue Nov 11 12:59:34 2014 +0000
Revision:
0:160f68fca7a0
Child:
1:4c31b3159209
Initial release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YuuichiAkagawa 0:160f68fca7a0 1 /* FluentLogger - fluent-logger-mbed sample
YuuichiAkagawa 0:160f68fca7a0 2 * Copyright (c) 2014 Yuuichi Akagawa
YuuichiAkagawa 0:160f68fca7a0 3 *
YuuichiAkagawa 0:160f68fca7a0 4 * Licensed under the Apache License, Version 2.0 (the "License");
YuuichiAkagawa 0:160f68fca7a0 5 * you may not use this file except in compliance with the License.
YuuichiAkagawa 0:160f68fca7a0 6 * You may obtain a copy of the License at
YuuichiAkagawa 0:160f68fca7a0 7 *
YuuichiAkagawa 0:160f68fca7a0 8 * http://www.apache.org/licenses/LICENSE-2.0
YuuichiAkagawa 0:160f68fca7a0 9 *
YuuichiAkagawa 0:160f68fca7a0 10 * Unless required by applicable law or agreed to in writing, software
YuuichiAkagawa 0:160f68fca7a0 11 * distributed under the License is distributed on an "AS IS" BASIS,
YuuichiAkagawa 0:160f68fca7a0 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
YuuichiAkagawa 0:160f68fca7a0 13 * See the License for the specific language governing permissions and
YuuichiAkagawa 0:160f68fca7a0 14 * limitations under the License.
YuuichiAkagawa 0:160f68fca7a0 15 */
YuuichiAkagawa 0:160f68fca7a0 16
YuuichiAkagawa 0:160f68fca7a0 17 #include "mbed.h"
YuuichiAkagawa 0:160f68fca7a0 18 #include "rtos.h"
YuuichiAkagawa 0:160f68fca7a0 19 #include "EthernetInterface.h"
YuuichiAkagawa 0:160f68fca7a0 20 #include "FluentLogger.h"
YuuichiAkagawa 0:160f68fca7a0 21
YuuichiAkagawa 0:160f68fca7a0 22 EthernetInterface eth;
YuuichiAkagawa 0:160f68fca7a0 23 FluentLogger logger("192.168.0.1"); // please set your Fluentd server
YuuichiAkagawa 0:160f68fca7a0 24
YuuichiAkagawa 0:160f68fca7a0 25 int main()
YuuichiAkagawa 0:160f68fca7a0 26 {
YuuichiAkagawa 0:160f68fca7a0 27 uMP mp(64); //Message body
YuuichiAkagawa 0:160f68fca7a0 28 eth.init(); //Use DHCP
YuuichiAkagawa 0:160f68fca7a0 29 eth.connect();
YuuichiAkagawa 0:160f68fca7a0 30
YuuichiAkagawa 0:160f68fca7a0 31 #if 0
YuuichiAkagawa 0:160f68fca7a0 32 //test
YuuichiAkagawa 0:160f68fca7a0 33 mp.init(); // need init every time
YuuichiAkagawa 0:160f68fca7a0 34 mp.set_array(7);
YuuichiAkagawa 0:160f68fca7a0 35 mp.set_str("sint", 4);
YuuichiAkagawa 0:160f68fca7a0 36 mp.set_sint(0);
YuuichiAkagawa 0:160f68fca7a0 37 mp.set_sint(1);
YuuichiAkagawa 0:160f68fca7a0 38 mp.set_sint(-1);
YuuichiAkagawa 0:160f68fca7a0 39 mp.set_sint(-128);
YuuichiAkagawa 0:160f68fca7a0 40 mp.set_sint(-32768);
YuuichiAkagawa 0:160f68fca7a0 41 mp.set_sint(-2147483648);
YuuichiAkagawa 0:160f68fca7a0 42 logger.log("debug.mbed", mp);
YuuichiAkagawa 0:160f68fca7a0 43
YuuichiAkagawa 0:160f68fca7a0 44 mp.init(); // need init every time
YuuichiAkagawa 0:160f68fca7a0 45 mp.set_array(7);
YuuichiAkagawa 0:160f68fca7a0 46 mp.set_str("uint", 4);
YuuichiAkagawa 0:160f68fca7a0 47 mp.set_uint(0);
YuuichiAkagawa 0:160f68fca7a0 48 mp.set_uint(1);
YuuichiAkagawa 0:160f68fca7a0 49 mp.set_uint(128);
YuuichiAkagawa 0:160f68fca7a0 50 mp.set_uint(0xff);
YuuichiAkagawa 0:160f68fca7a0 51 mp.set_uint(0xffff);
YuuichiAkagawa 0:160f68fca7a0 52 mp.set_uint(0xffffffff);
YuuichiAkagawa 0:160f68fca7a0 53 logger.log("debug.mbed", mp);
YuuichiAkagawa 0:160f68fca7a0 54
YuuichiAkagawa 0:160f68fca7a0 55 mp.init(); // need init every time
YuuichiAkagawa 0:160f68fca7a0 56 mp.set_map(2);
YuuichiAkagawa 0:160f68fca7a0 57 mp.set_str("float", 5);
YuuichiAkagawa 0:160f68fca7a0 58 mp.set_float(1.0/3);
YuuichiAkagawa 0:160f68fca7a0 59 mp.set_str("double", 6);
YuuichiAkagawa 0:160f68fca7a0 60 mp.set_double(1.0/3);
YuuichiAkagawa 0:160f68fca7a0 61 logger.log("debug.mbed", mp);
YuuichiAkagawa 0:160f68fca7a0 62 #endif
YuuichiAkagawa 0:160f68fca7a0 63
YuuichiAkagawa 0:160f68fca7a0 64 while(1) {
YuuichiAkagawa 0:160f68fca7a0 65 logger.log("debug.mbed", "Hello mbed"); //message body is simple string
YuuichiAkagawa 0:160f68fca7a0 66 wait_ms(10000);
YuuichiAkagawa 0:160f68fca7a0 67 }
YuuichiAkagawa 0:160f68fca7a0 68 logger.close();
YuuichiAkagawa 0:160f68fca7a0 69 eth.disconnect();
YuuichiAkagawa 0:160f68fca7a0 70 }