| Index: blimp/common/logging.cc
|
| diff --git a/blimp/common/logging.cc b/blimp/common/logging.cc
|
| index 6f5587b20843d6e1e5ebb98c77a8b7b944421679..53152ea633199a6958c954843abdb969b5e652d8 100644
|
| --- a/blimp/common/logging.cc
|
| +++ b/blimp/common/logging.cc
|
| @@ -12,8 +12,10 @@
|
| #include "base/json/string_escape.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/strings/string_number_conversions.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| +#include "blimp/common/create_blimp_message.h"
|
| #include "blimp/common/proto/blimp_message.pb.h"
|
|
|
| namespace blimp {
|
| @@ -248,6 +250,24 @@ class TabControlLogExtractor : public LogExtractor {
|
| }
|
| };
|
|
|
| +// Logs fields from BLOB_CHANNEL messages.
|
| +class BlobChannelLogExtractor : public LogExtractor {
|
| + void ExtractFields(const BlimpMessage& message,
|
| + LogFields* output) const override {
|
| + switch (message.blob_channel().type()) {
|
| + case BlobChannelMessage::TRANSFER_BLOB:
|
| + AddField("subtype", "TRANSFER_BLOB", output);
|
| + default:
|
| + break;
|
| + }
|
| + if (message.blob_channel().has_blob_id()) {
|
| + AddField("id", base::HexEncode(message.blob_channel().blob_id().data(),
|
| + message.blob_channel().blob_id().size()),
|
| + output);
|
| + }
|
| + }
|
| +};
|
| +
|
| // No fields are extracted from |message|.
|
| class NullLogExtractor : public LogExtractor {
|
| void ExtractFields(const BlimpMessage& message,
|
| @@ -271,6 +291,8 @@ BlimpMessageLogger::BlimpMessageLogger() {
|
| base::WrapUnique(new SettingsLogExtractor));
|
| AddHandler("TAB_CONTROL", BlimpMessage::TAB_CONTROL,
|
| base::WrapUnique(new TabControlLogExtractor));
|
| + AddHandler("BLOB_CHANNEL", BlimpMessage::BLOB_CHANNEL,
|
| + base::WrapUnique(new BlobChannelLogExtractor));
|
| }
|
|
|
| BlimpMessageLogger::~BlimpMessageLogger() {}
|
|
|