diff --git a/include/Makefile.am b/include/Makefile.am
index 60b9ea9..317968a 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -16,6 +16,7 @@
                        osmocom/core/linuxlist.h \
                        osmocom/core/linuxrbtree.h \
                        osmocom/core/logging.h \
+                       osmocom/core/loggingrb.h \
                        osmocom/core/msgb.h \
                        osmocom/core/panic.h \
                        osmocom/core/prim.h \
@@ -25,6 +26,7 @@
                        osmocom/core/signal.h \
                        osmocom/core/socket.h \
                        osmocom/core/statistics.h \
+                       osmocom/core/strrb.h \
                        osmocom/core/timer.h \
                        osmocom/core/utils.h \
                        osmocom/core/write_queue.h \
diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h
index 54262b7..fa3365a 100644
--- a/include/osmocom/core/logging.h
+++ b/include/osmocom/core/logging.h
@@ -114,6 +114,7 @@
 	LOG_TGT_TYPE_SYSLOG,	/*!< \brief syslog based logging */
 	LOG_TGT_TYPE_FILE,	/*!< \brief text file logging */
 	LOG_TGT_TYPE_STDERR,	/*!< \brief stderr logging */
+	LOG_TGT_TYPE_STRRB,	/*!< \brief osmo_strrb-backed logging */
 };
 
 /*! \brief structure representing a logging target */
@@ -154,6 +155,10 @@
 		struct {
 			void *vty;
 		} tgt_vty;
+
+		struct {
+			void *rb;
+		} tgt_rb;
 	};
 
 	/*! \brief call-back function to be called when the logging framework
diff --git a/include/osmocom/core/loggingrb.h b/include/osmocom/core/loggingrb.h
new file mode 100644
index 0000000..a6f377b
--- /dev/null
+++ b/include/osmocom/core/loggingrb.h
@@ -0,0 +1,40 @@
+#ifndef _LOGGINGRB_H
+#define _LOGGINGRB_H
+
+/* (C) 2012-2013 by Katerina Barone-Adesi <kat.obsc@gmail.com>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+
+/*! \defgroup loggingrb Osmocom ringbuffer-backed logging
+ *  @{
+ */
+
+/*! \file loggingrb.h
+ */
+
+struct log_info;
+
+size_t log_target_rb_used_size(struct log_target const *target);
+size_t log_target_rb_avail_size(struct log_target const *target);
+const char *log_target_rb_get(struct log_target const *target, size_t logindex);
+struct log_target *log_target_create_rb(size_t size);
+
+/*! @} */
+
+#endif /* _LOGGINGRB_H  */
diff --git a/include/osmocom/core/strrb.h b/include/osmocom/core/strrb.h
new file mode 100644
index 0000000..cfc56dc
--- /dev/null
+++ b/include/osmocom/core/strrb.h
@@ -0,0 +1,58 @@
+#ifndef _STRRB_H
+#define _STRRB_H
+
+/* (C) 2012-2013 by Katerina Barone-Adesi <kat.obsc@gmail.com>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+/*! \defgroup osmo_strrb Osmocom ringbuffers for log strings
+ *  @{
+ */
+
+/*! \file strrb.h
+ *  \brief Osmocom string ringbuffer handling routines
+ */
+
+#include <unistd.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+#include <osmocom/core/talloc.h>
+
+/*! \brief A structure representing an osmocom string ringbuffer */
+
+#define RB_MAX_MESSAGE_SIZE 240
+struct osmo_strrb {
+	uint16_t start;		/*!< \brief index of the first slot */
+	uint16_t end;		/*!< \brief index of the last slot */
+	uint16_t size;		/*!< \brief max number of messages to store */
+	char **buffer;		/*!< \brief storage for messages */
+};
+
+struct osmo_strrb *osmo_strrb_create(TALLOC_CTX * ctx, size_t rb_size);
+bool osmo_strrb_is_empty(const struct osmo_strrb *rb);
+const char *osmo_strrb_get_nth(const struct osmo_strrb *rb,
+			       unsigned int string_index);
+bool _osmo_strrb_is_bufindex_valid(const struct osmo_strrb *rb,
+				   unsigned int offset);
+size_t osmo_strrb_elements(const struct osmo_strrb *rb);
+int osmo_strrb_add(struct osmo_strrb *rb, const char *data);
+
+/*! @} */
+
+#endif /* _STRRB_H */
