diff --git a/http2/http2_structures_test.cc b/http2/http2_structures_test.cc
index 78107f7..9e38248 100644
--- a/http2/http2_structures_test.cc
+++ b/http2/http2_structures_test.cc
@@ -154,8 +154,9 @@
  protected:
   Http2FrameHeaderTypeAndFlagTest()
       : type_(std::get<0>(GetParam())), flags_(std::get<1>(GetParam())) {
-    LOG(INFO) << "Frame type: " << type_;
-    LOG(INFO) << "Frame flags: " << Http2FrameFlagsToString(type_, flags_);
+    HTTP2_LOG(INFO) << "Frame type: " << type_;
+    HTTP2_LOG(INFO) << "Frame flags: "
+                    << Http2FrameFlagsToString(type_, flags_);
   }
 
   const Http2FrameType type_;
@@ -163,7 +164,8 @@
 };
 
 class IsEndStreamTest : public Http2FrameHeaderTypeAndFlagTest {};
-INSTANTIATE_TEST_SUITE_P(IsEndStream, IsEndStreamTest,
+INSTANTIATE_TEST_SUITE_P(IsEndStream,
+                         IsEndStreamTest,
                          Combine(ValuesIn(ValidFrameTypes()),
                                  Values(~Http2FrameFlag::END_STREAM, 0xff)));
 TEST_P(IsEndStreamTest, IsEndStream) {
@@ -200,7 +202,8 @@
 }
 
 class IsACKTest : public Http2FrameHeaderTypeAndFlagTest {};
-INSTANTIATE_TEST_SUITE_P(IsAck, IsACKTest,
+INSTANTIATE_TEST_SUITE_P(IsAck,
+                         IsACKTest,
                          Combine(ValuesIn(ValidFrameTypes()),
                                  Values(~Http2FrameFlag::ACK, 0xff)));
 TEST_P(IsACKTest, IsAck) {
@@ -236,7 +239,8 @@
 }
 
 class IsEndHeadersTest : public Http2FrameHeaderTypeAndFlagTest {};
-INSTANTIATE_TEST_SUITE_P(IsEndHeaders, IsEndHeadersTest,
+INSTANTIATE_TEST_SUITE_P(IsEndHeaders,
+                         IsEndHeadersTest,
                          Combine(ValuesIn(ValidFrameTypes()),
                                  Values(~Http2FrameFlag::END_HEADERS, 0xff)));
 TEST_P(IsEndHeadersTest, IsEndHeaders) {
@@ -276,7 +280,8 @@
 }
 
 class IsPaddedTest : public Http2FrameHeaderTypeAndFlagTest {};
-INSTANTIATE_TEST_SUITE_P(IsPadded, IsPaddedTest,
+INSTANTIATE_TEST_SUITE_P(IsPadded,
+                         IsPaddedTest,
                          Combine(ValuesIn(ValidFrameTypes()),
                                  Values(~Http2FrameFlag::PADDED, 0xff)));
 TEST_P(IsPaddedTest, IsPadded) {
@@ -314,7 +319,8 @@
 }
 
 class HasPriorityTest : public Http2FrameHeaderTypeAndFlagTest {};
-INSTANTIATE_TEST_SUITE_P(HasPriority, HasPriorityTest,
+INSTANTIATE_TEST_SUITE_P(HasPriority,
+                         HasPriorityTest,
                          Combine(ValuesIn(ValidFrameTypes()),
                                  Values(~Http2FrameFlag::PRIORITY, 0xff)));
 TEST_P(HasPriorityTest, HasPriority) {
