Sample for the FluentLogger library.
Dependencies: EthernetInterface FluentLogger mbed-rtos mbed
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>
main.cpp@0:160f68fca7a0, 2014-11-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |