FluentLogger: fluent-logger-mbed A structured logger for Fluentd (mbed)

Dependents:   FluentLogger_Hello SNIC-FluentLogger-example

FluentLogger

Fluentd Logo

What is this ?

You can logging to Fluentd server.
This library included subset of MassagePack library.

Supported MessagePack formats(encode only)

format namefirst byte (in hex)
positive fixint0x00 - 0x7f
fixmap0x80 - 0x8f
fixarray0x90 - 0x9f
fixstr0xa0 - 0xbf
nil0xc0
false0xc2
true0xc3
float 320xca
float 640xcb
uint 80xcc
uint 160xcd
uint 320xce
uint 640xcf
int 80xd0
int 160xd1
int 320xd2
int 640xd3
str 80xd9
negative fixint0xe0 - 0xff

これは何?

Fluentd サーバにログを送信するためのライブラリです。
サブセット版のMassagePackライブラリも同梱しています。

サーバ側ダウン時の再接続機能は限定的に実装されています。 現時点での実装は送信時に切断を検知し、次回送信時に再接続する仕様です。

Revision:
1:6b1268731465
Parent:
0:b4815a079a4b
--- a/uMP.cpp	Tue Nov 11 02:14:44 2014 +0000
+++ b/uMP.cpp	Mon Dec 15 15:37:23 2014 +0000
@@ -50,7 +50,7 @@
     return set_buffer(TAG_FALSE);
 }
 
-bool uMP::set_array(uint32_t size)
+bool uMP::start_array(uint32_t size)
 {
     if (size <= 0x0f) {
         return set_buffer((uint8_t)(TAG_FIXARRAY | size));
@@ -58,7 +58,7 @@
     return false;
 }
 
-bool uMP::set_map(uint32_t size)
+bool uMP::start_map(uint32_t size)
 {
     if (size <= 0x0f) {
         return set_buffer((uint8_t)(TAG_FIXMAP | size));
@@ -195,6 +195,11 @@
     return false;
 }
 
+bool uMP::set_str(const std::string& str)
+{
+    return set_str(str.c_str(), (uint32_t)str.size());
+}
+
 bool uMP::set_fixstr(const char *data, uint8_t size)
 {
     if (size > 0x1f) {
@@ -307,3 +312,74 @@
     *(x+1) = h;
     return t;
 }
+
+// map functions
+bool uMP::map(const std::string& k, uint8_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_u8(v);
+}
+
+bool uMP::map(const std::string& k, uint16_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_u16(v);
+}
+
+bool uMP::map(const std::string& k, uint32_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_uint(v);
+}
+
+bool uMP::map(const std::string& k, int8_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_s8(v);
+}
+
+bool uMP::map(const std::string& k, int16_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_s16(v);
+}
+
+bool uMP::map(const std::string& k, int32_t v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_sint(v);
+}
+
+bool uMP::map(const std::string& k, float v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_float(v);
+}
+
+bool uMP::map(const std::string& k, double v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_double(v);
+}
+
+bool uMP::map(const std::string& k, const char *v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_str(v);
+}
+
+bool uMP::map(const std::string& k, const std::string& v)
+{
+    if( set_str(k) == false )
+        return false;
+    return set_str(v);
+}