Prefix LOG and CHECK with AOS_

This prepares us for introducing glog more widely and transitioning
things over where they make sense.

Change-Id: Ic6c208882407bc2153fe875ffc736d66f5c8ade5
diff --git a/y2016/actors/autonomous_actor.cc b/y2016/actors/autonomous_actor.cc
index a02362e..498a6f1 100644
--- a/y2016/actors/autonomous_actor.cc
+++ b/y2016/actors/autonomous_actor.cc
@@ -111,7 +111,7 @@
   new_superstructure_goal->unfold_climber = false;
 
   if (!new_superstructure_goal.Send()) {
-    LOG(ERROR, "Sending superstructure goal failed.\n");
+    AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
   }
 }
 
@@ -124,7 +124,7 @@
   shooter_goal->push_to_shooter = false;
   shooter_goal->force_lights_on = false;
   if (!shooter_goal.Send()) {
-    LOG(ERROR, "Sending shooter goal failed.\n");
+    AOS_LOG(ERROR, "Sending shooter goal failed.\n");
   }
 }
 
@@ -138,7 +138,7 @@
   shooter_goal->force_lights_on = false;
 
   if (!shooter_goal.Send()) {
-    LOG(ERROR, "Sending shooter goal failed.\n");
+    AOS_LOG(ERROR, "Sending shooter goal failed.\n");
   }
 }
 
@@ -156,7 +156,7 @@
   shooter_goal->force_lights_on = force_lights_on;
 
   if (!shooter_goal.Send()) {
-    LOG(ERROR, "Sending shooter goal failed.\n");
+    AOS_LOG(ERROR, "Sending shooter goal failed.\n");
   }
 }
 
@@ -179,7 +179,7 @@
   shooter_goal->force_lights_on = force_lights_on;
 
   if (!shooter_goal.Send()) {
-    LOG(ERROR, "Sending shooter goal failed.\n");
+    AOS_LOG(ERROR, "Sending shooter goal failed.\n");
   }
 
   ::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
@@ -270,7 +270,7 @@
       }
       if (ready_to_fire > 15) {
         break;
-        LOG(INFO, "Vision align success!\n");
+        AOS_LOG(INFO, "Vision align success!\n");
       }
     }
     phased_loop.SleepUntilNext();
@@ -278,7 +278,7 @@
 
   vision_action_->Cancel();
   WaitUntilDoneOrCanceled(::std::move(vision_action_));
-  LOG(INFO, "Done waiting for vision\n");
+  AOS_LOG(INFO, "Done waiting for vision\n");
 }
 
 bool AutonomousActor::IntakeDone() {
@@ -289,7 +289,7 @@
 
   if (superstructure_status_fetcher_->state < 12 ||
       superstructure_status_fetcher_->state == 16) {
-    LOG(ERROR, "Superstructure no longer running, aborting action\n");
+    AOS_LOG(ERROR, "Superstructure no longer running, aborting action\n");
     return true;
   }
 
@@ -297,12 +297,12 @@
                  superstructure_goal_.intake) < kProfileError &&
       ::std::abs(superstructure_status_fetcher_->intake
                      .goal_angular_velocity) < kProfileError) {
-    LOG(DEBUG, "Profile done.\n");
+    AOS_LOG(DEBUG, "Profile done.\n");
     if (::std::abs(superstructure_status_fetcher_->intake.angle -
                    superstructure_goal_.intake) < kEpsilon &&
         ::std::abs(superstructure_status_fetcher_->intake
                        .angular_velocity) < kEpsilon) {
-      LOG(INFO, "Near goal, done.\n");
+      AOS_LOG(INFO, "Near goal, done.\n");
       return true;
     }
   }
@@ -312,7 +312,7 @@
 bool AutonomousActor::SuperstructureProfileDone() {
   if (superstructure_status_fetcher_->state < 12 ||
       superstructure_status_fetcher_->state == 16) {
-    LOG(ERROR, "Superstructure no longer running, aborting action\n");
+    AOS_LOG(ERROR, "Superstructure no longer running, aborting action\n");
     return true;
   }
 
@@ -339,7 +339,7 @@
 
   constexpr double kEpsilon = 0.03;
   if (SuperstructureProfileDone()) {
-    LOG(DEBUG, "Profile done.\n");
+    AOS_LOG(DEBUG, "Profile done.\n");
     if (::std::abs(superstructure_status_fetcher_->intake.angle -
                    superstructure_goal_.intake) < (kEpsilon + 0.1) &&
         ::std::abs(superstructure_status_fetcher_->shoulder.angle -
@@ -352,7 +352,7 @@
                        .angular_velocity) < (kEpsilon + 0.10) &&
         ::std::abs(superstructure_status_fetcher_->wrist
                        .angular_velocity) < (kEpsilon + 0.05)) {
-      LOG(INFO, "Near goal, done.\n");
+      AOS_LOG(INFO, "Near goal, done.\n");
       return true;
     }
   }
@@ -384,43 +384,43 @@
 }
 
 void AutonomousActor::BackLongShotLowBarTwoBall() {
-  LOG(INFO, "Expanding for back long shot\n");
+  AOS_LOG(INFO, "Expanding for back long shot\n");
   MoveSuperstructure(0.00, M_PI / 2.0 - 0.2, -0.55, {7.0, 40.0}, {4.0, 6.0},
                      {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::BackLongShotTwoBall() {
-  LOG(INFO, "Expanding for back long shot\n");
+  AOS_LOG(INFO, "Expanding for back long shot\n");
   MoveSuperstructure(0.00, M_PI / 2.0 - 0.2, -0.55, {7.0, 40.0}, {4.0, 6.0},
                      {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::BackLongShotTwoBallFinish() {
-  LOG(INFO, "Expanding for back long shot\n");
+  AOS_LOG(INFO, "Expanding for back long shot\n");
   MoveSuperstructure(0.00, M_PI / 2.0 - 0.2, -0.625 + 0.03, {7.0, 40.0},
                      {4.0, 6.0}, {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::BackLongShot() {
-  LOG(INFO, "Expanding for back long shot\n");
+  AOS_LOG(INFO, "Expanding for back long shot\n");
   MoveSuperstructure(0.80, M_PI / 2.0 - 0.2, -0.62, {7.0, 40.0}, {4.0, 6.0},
                      {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::BackMiddleShot() {
-  LOG(INFO, "Expanding for back middle shot\n");
+  AOS_LOG(INFO, "Expanding for back middle shot\n");
   MoveSuperstructure(-0.05, M_PI / 2.0 - 0.2, -0.665, {7.0, 40.0}, {4.0, 10.0},
                      {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::FrontLongShot() {
-  LOG(INFO, "Expanding for front long shot\n");
+  AOS_LOG(INFO, "Expanding for front long shot\n");
   MoveSuperstructure(0.80, M_PI / 2.0 + 0.1, M_PI + 0.41 + 0.02, {7.0, 40.0},
                      {4.0, 6.0}, {10.0, 25.0}, false, 0.0);
 }
 
 void AutonomousActor::FrontMiddleShot() {
-  LOG(INFO, "Expanding for front middle shot\n");
+  AOS_LOG(INFO, "Expanding for front middle shot\n");
   MoveSuperstructure(-0.05, M_PI / 2.0 + 0.1, M_PI + 0.44, {7.0, 40.0},
                      {4.0, 10.0}, {10.0, 25.0}, true, 0.0);
 }
@@ -433,37 +433,37 @@
 void AutonomousActor::DoFullShot() {
   if (ShouldCancel()) return;
   // Make sure that the base is aligned with the base.
-  LOG(INFO, "Waiting for the superstructure\n");
+  AOS_LOG(INFO, "Waiting for the superstructure\n");
   WaitForSuperstructure();
 
   this_thread::sleep_for(chrono::milliseconds(500));
 
   if (ShouldCancel()) return;
-  LOG(INFO, "Triggering the vision actor\n");
+  AOS_LOG(INFO, "Triggering the vision actor\n");
   AlignWithVisionGoal();
 
   // Wait for the drive base to be aligned with the target and make sure that
   // the shooter is up to speed.
-  LOG(INFO, "Waiting for vision to be aligned\n");
+  AOS_LOG(INFO, "Waiting for vision to be aligned\n");
   WaitForAlignedWithVision(chrono::milliseconds(2000));
   if (ShouldCancel()) return;
-  LOG(INFO, "Waiting for shooter to be up to speed\n");
+  AOS_LOG(INFO, "Waiting for shooter to be up to speed\n");
   WaitForShooterSpeed();
   if (ShouldCancel()) return;
 
   this_thread::sleep_for(chrono::milliseconds(300));
-  LOG(INFO, "Shoot!\n");
+  AOS_LOG(INFO, "Shoot!\n");
   Shoot();
 
   // Turn off the shooter and fold up the superstructure.
   if (ShouldCancel()) return;
-  LOG(INFO, "Stopping shooter\n");
+  AOS_LOG(INFO, "Stopping shooter\n");
   SetShooterSpeed(0.0);
-  LOG(INFO, "Folding superstructure back down\n");
+  AOS_LOG(INFO, "Folding superstructure back down\n");
   TuckArm(false, false);
 
   // Wait for everything to be folded up.
-  LOG(INFO, "Waiting for superstructure to be folded back down\n");
+  AOS_LOG(INFO, "Waiting for superstructure to be folded back down\n");
   WaitForSuperstructureLow();
 }
 
@@ -505,7 +505,7 @@
     const double distance_to_go = (left_error + right_error) / 2.0;
     const double distance_compensation =
         goal_distance - tip_distance - distance_to_go;
-    LOG(INFO, "Going %f further at the bump\n", distance_compensation);
+    AOS_LOG(INFO, "Going %f further at the bump\n", distance_compensation);
     StartDrive(distance_compensation, 0.0, kMoatDrive, kSlowTurn);
   }
 }
@@ -577,11 +577,11 @@
   MoveSuperstructure(0.10, -0.010, 0.0, {8.0, 60.0}, {4.0, 10.0}, {10.0, 25.0},
                      false, 12.0);
   if (ShouldCancel()) return;
-  LOG(INFO, "Waiting for the intake to come down.\n");
+  AOS_LOG(INFO, "Waiting for the intake to come down.\n");
 
   WaitForIntake();
-  LOG(INFO, "Intake done at %f seconds, starting to drive\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Intake done at %f seconds, starting to drive\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   if (ShouldCancel()) return;
   const double kDriveDistance = 5.05;
   StartDrive(-kDriveDistance, 0.0, kTwoBallLowDrive, kSlowTurn);
@@ -595,13 +595,14 @@
   if (ball_detector_fetcher_.get()) {
     const bool ball_detected = ball_detector_fetcher_->voltage > 2.5;
     first_ball_there = ball_detected;
-    LOG(INFO, "Saw the ball: %d at %f\n", first_ball_there,
-        ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+    AOS_LOG(INFO, "Saw the ball: %d at %f\n", first_ball_there,
+            ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   }
   MoveSuperstructure(0.10, -0.010, 0.0, {8.0, 40.0}, {4.0, 10.0}, {10.0, 25.0},
                      false, 0.0);
-  LOG(INFO, "Shutting off rollers at %f seconds, starting to straighten out\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO,
+          "Shutting off rollers at %f seconds, starting to straighten out\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   StartDrive(0.0, -0.4, kTwoBallLowDrive, kSwerveTurn);
   MoveSuperstructure(-0.05, -0.010, 0.0, {8.0, 40.0}, {4.0, 10.0}, {10.0, 25.0},
                      false, 0.0);
@@ -610,7 +611,7 @@
 
   // We are now under the low bar.  Start lifting.
   BackLongShotLowBarTwoBall();
-  LOG(INFO, "Spinning up the shooter wheels\n");
+  AOS_LOG(INFO, "Spinning up the shooter wheels\n");
   SetShooterSpeed(640.0);
   StartDrive(0.0, 0.0, kTwoBallFastDrive, kSwerveTurn);
 
@@ -620,8 +621,8 @@
   BackLongShotTwoBall();
 
   if (!WaitForDriveDone()) return;
-  LOG(INFO, "First shot done driving at %f seconds\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "First shot done driving at %f seconds\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   WaitForSuperstructureProfile();
 
@@ -636,19 +637,19 @@
   BackLongShotTwoBallFinish();
   WaitForSuperstructureProfile();
   if (ShouldCancel()) return;
-  LOG(INFO, "Shoot!\n");
+  AOS_LOG(INFO, "Shoot!\n");
   if (first_ball_there) {
     Shoot();
   } else {
-    LOG(INFO, "Nah, not shooting\n");
+    AOS_LOG(INFO, "Nah, not shooting\n");
   }
 
-  LOG(INFO, "First shot at %f seconds\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "First shot at %f seconds\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   if (ShouldCancel()) return;
 
   SetShooterSpeed(0.0);
-  LOG(INFO, "Folding superstructure back down\n");
+  AOS_LOG(INFO, "Folding superstructure back down\n");
   TuckArm(true, true);
 
   // Undo vision move.
@@ -663,8 +664,8 @@
   StartDrive(0, 0, kTwoBallReturnSlow, kSwerveTurn);
 
   if (!WaitForDriveNear(0.06, kDoNotTurnCare)) return;
-  LOG(INFO, "At Low Bar %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "At Low Bar %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   OpenShooter();
   constexpr double kSecondBallAfterBarDrive = 2.10;
@@ -681,8 +682,8 @@
   MoveSuperstructure(0.10, -0.010, 0.0, {8.0, 60.0}, {4.0, 10.0}, {10.0, 25.0},
                      false, 12.0);
 
-  LOG(INFO, "Done backing up %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Done backing up %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   constexpr double kDriveBackDistance = 5.15 - 0.4;
   StartDrive(-kDriveBackDistance, 0.0, kTwoBallLowDrive, kFinishTurn);
@@ -690,8 +691,8 @@
   if (!WaitForDriveNear(kDriveBackDistance - 0.75, kDoNotTurnCare)) return;
 
   StartDrive(0.0, -kBallSmallWallTurn, kTwoBallLowDrive, kFinishTurn);
-  LOG(INFO, "Straightening up at %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Straightening up at %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   CloseIfBall();
   if (!WaitForDriveNear(kDriveBackDistance - 2.3, kDoNotTurnCare)) return;
@@ -701,15 +702,15 @@
     const bool ball_detected = ball_detector_fetcher_->voltage > 2.5;
     if (!ball_detected) {
       if (!WaitForDriveDone()) return;
-      LOG(INFO, "Aborting, no ball %f\n",
-          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+      AOS_LOG(INFO, "Aborting, no ball %f\n",
+              ::aos::time::DurationInSeconds(monotonic_now() - start_time));
       return;
     }
   }
   CloseShooter();
 
   BackLongShotLowBarTwoBall();
-  LOG(INFO, "Spinning up the shooter wheels\n");
+  AOS_LOG(INFO, "Spinning up the shooter wheels\n");
   SetShooterSpeed(640.0);
   StartDrive(0.0, 0.0, kTwoBallFastDrive, kSwerveTurn);
 
@@ -718,8 +719,8 @@
   BackLongShotTwoBall();
 
   if (!WaitForDriveDone()) return;
-  LOG(INFO, "Second shot done driving at %f seconds\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Second shot done driving at %f seconds\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   WaitForSuperstructure();
   AlignWithVisionGoal();
   if (ShouldCancel()) return;
@@ -729,32 +730,32 @@
 
   // 2.2 with 0.4 of vision.
   // 1.8 without any vision.
-  LOG(INFO, "Going to vision align at %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Going to vision align at %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   WaitForAlignedWithVision(
       (start_time + chrono::milliseconds(13500) + kVisionExtra * 2) -
       monotonic_now());
   BackLongShotTwoBallFinish();
   WaitForSuperstructureProfile();
   if (ShouldCancel()) return;
-  LOG(INFO, "Shoot at %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Shoot at %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   Shoot();
 
-  LOG(INFO, "Second shot at %f seconds\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Second shot at %f seconds\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
   if (ShouldCancel()) return;
 
   SetShooterSpeed(0.0);
-  LOG(INFO, "Folding superstructure back down\n");
+  AOS_LOG(INFO, "Folding superstructure back down\n");
   TuckArm(true, false);
-  LOG(INFO, "Shot %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Shot %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   WaitForSuperstructureLow();
 
-  LOG(INFO, "Done %f\n",
-      ::aos::time::DurationInSeconds(monotonic_now() - start_time));
+  AOS_LOG(INFO, "Done %f\n",
+          ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 }
 
 void AutonomousActor::StealAndMoveOverBy(double distance) {
@@ -762,7 +763,7 @@
   MoveSuperstructure(0.10, -0.010, 0.0, {8.0, 60.0}, {4.0, 10.0}, {10.0, 25.0},
                      true, 12.0);
   if (ShouldCancel()) return;
-  LOG(INFO, "Waiting for the intake to come down.\n");
+  AOS_LOG(INFO, "Waiting for the intake to come down.\n");
 
   WaitForIntake();
   if (ShouldCancel()) return;
@@ -780,7 +781,8 @@
 bool AutonomousActor::RunAction(
     const ::frc971::autonomous::AutonomousActionParams &params) {
   monotonic_clock::time_point start_time = monotonic_now();
-  LOG(INFO, "Starting autonomous action with mode %" PRId32 "\n", params.mode);
+  AOS_LOG(INFO, "Starting autonomous action with mode %" PRId32 "\n",
+          params.mode);
 
   InitializeEncoders();
   ResetDrivetrain();
@@ -790,11 +792,11 @@
       LowBarDrive();
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontLongShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(640.0);
 
       break;
@@ -802,11 +804,11 @@
       TwoFromMiddleDrive();
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -814,11 +816,11 @@
       OneFromMiddleDrive(true);
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -826,11 +828,11 @@
       MiddleDrive();
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -838,11 +840,11 @@
       OneFromMiddleDrive(false);
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -858,11 +860,11 @@
       TwoFromMiddleDrive();
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -873,11 +875,11 @@
       OneFromMiddleDrive(true);
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
       break;
@@ -888,11 +890,11 @@
       MiddleDrive();
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
     } break;
@@ -903,16 +905,16 @@
       OneFromMiddleDrive(false);
       if (!WaitForDriveDone()) return true;
       // Get the superstructure to unfold and get ready for shooting.
-      LOG(INFO, "Unfolding superstructure\n");
+      AOS_LOG(INFO, "Unfolding superstructure\n");
       FrontMiddleShot();
 
       // Spin up the shooter wheels.
-      LOG(INFO, "Spinning up the shooter wheels\n");
+      AOS_LOG(INFO, "Spinning up the shooter wheels\n");
       SetShooterSpeed(600.0);
 
     } break;
     default:
-      LOG(ERROR, "Invalid auto mode %d\n", params.mode);
+      AOS_LOG(ERROR, "Invalid auto mode %d\n", params.mode);
       return true;
   }
 
@@ -921,7 +923,7 @@
   StartDrive(0.5, 0.0, kMoatDrive, kFastTurn);
   if (!WaitForDriveDone()) return true;
 
-  LOG(INFO, "Done %f\n",
+  AOS_LOG(INFO, "Done %f\n",
       ::aos::time::DurationInSeconds(monotonic_now() - start_time));
 
   ::aos::time::PhasedLoop phased_loop(::std::chrono::milliseconds(5),
@@ -931,7 +933,7 @@
   while (!ShouldCancel()) {
     phased_loop.SleepUntilNext();
   }
-  LOG(DEBUG, "Done running\n");
+  AOS_LOG(DEBUG, "Done running\n");
 
   return true;
 }
diff --git a/y2016/actors/superstructure_actor.cc b/y2016/actors/superstructure_actor.cc
index 26fdd7e..2875cbd 100644
--- a/y2016/actors/superstructure_actor.cc
+++ b/y2016/actors/superstructure_actor.cc
@@ -26,7 +26,7 @@
 
 bool SuperstructureActor::RunAction(
     const actors::SuperstructureActionParams &params) {
-  LOG(INFO, "Starting superstructure action\n");
+  AOS_LOG(INFO, "Starting superstructure action\n");
 
   MoveSuperstructure(params.partial_angle, params.shooter_angle, false);
   WaitForSuperstructure();
@@ -68,7 +68,7 @@
   new_superstructure_goal->unfold_climber = unfold_climber;
 
   if (!new_superstructure_goal.Send()) {
-    LOG(ERROR, "Sending superstructure move failed.\n");
+    AOS_LOG(ERROR, "Sending superstructure move failed.\n");
   }
 }
 
@@ -93,13 +93,13 @@
   // estopped.
   if (superstructure_status_fetcher_->state < 12 ||
       superstructure_status_fetcher_->state == 16) {
-    LOG(ERROR, "Superstructure no longer running, aborting action\n");
+    AOS_LOG(ERROR, "Superstructure no longer running, aborting action\n");
     return true;
   }
 
   if (SuperstructureProfileDone()) {
-    LOG(DEBUG, "Profile done.\n");
-      return true;
+    AOS_LOG(DEBUG, "Profile done.\n");
+    return true;
   }
   return false;
 }
diff --git a/y2016/actors/vision_align_actor.cc b/y2016/actors/vision_align_actor.cc
index f42aad9..1685d22 100644
--- a/y2016/actors/vision_align_actor.cc
+++ b/y2016/actors/vision_align_actor.cc
@@ -42,8 +42,8 @@
   while (true) {
     const int iterations = phased_loop.SleepUntilNext();
     if (iterations != 1) {
-      LOG(WARNING, "vision align actor skipped %d iterations\n",
-          iterations - 1);
+      AOS_LOG(WARNING, "vision align actor skipped %d iterations\n",
+              iterations - 1);
     }
 
     if (ShouldCancel()) {
@@ -77,11 +77,11 @@
     drivetrain_message->right_goal = right_current - side_distance_change;
 
     if (!drivetrain_message.Send()) {
-      LOG(WARNING, "sending drivetrain goal failed\n");
+      AOS_LOG(WARNING, "sending drivetrain goal failed\n");
     }
   }
 
-  LOG(INFO, "Done moving\n");
+  AOS_LOG(INFO, "Done moving\n");
   return true;
 }
 
diff --git a/y2016/constants.cc b/y2016/constants.cc
index d4f61c1..8518b6b 100644
--- a/y2016/constants.cc
+++ b/y2016/constants.cc
@@ -142,13 +142,13 @@
       };
       break;
     default:
-      LOG(FATAL, "unknown team #%" PRIu16 "\n", team);
+      AOS_LOG(FATAL, "unknown team #%" PRIu16 "\n", team);
   }
 }
 
 const Values *DoGetValues() {
   uint16_t team = ::aos::network::GetTeamNumber();
-  LOG(INFO, "creating a Constants for team %" PRIu16 "\n", team);
+  AOS_LOG(INFO, "creating a Constants for team %" PRIu16 "\n", team);
   return DoGetValuesForTeam(team);
 }
 
diff --git a/y2016/control_loops/superstructure/superstructure.cc b/y2016/control_loops/superstructure/superstructure.cc
index c3155bf..99a130c 100644
--- a/y2016/control_loops/superstructure/superstructure.cc
+++ b/y2016/control_loops/superstructure/superstructure.cc
@@ -175,11 +175,12 @@
       shoulder_angle <=
           CollisionAvoidance::kMinShoulderAngleForIntakeUpInterference &&
       intake_angle > CollisionAvoidance::kMaxIntakeAngleBeforeArmInterference) {
-    LOG(DEBUG, "Collided: Intake %f > %f, and shoulder %f < %f < %f.\n",
-        intake_angle, CollisionAvoidance::kMaxIntakeAngleBeforeArmInterference,
-        CollisionAvoidance::kMaxShoulderAngleUntilSafeIntakeStowing,
-        shoulder_angle,
-        CollisionAvoidance::kMinShoulderAngleForIntakeUpInterference);
+    AOS_LOG(DEBUG, "Collided: Intake %f > %f, and shoulder %f < %f < %f.\n",
+            intake_angle,
+            CollisionAvoidance::kMaxIntakeAngleBeforeArmInterference,
+            CollisionAvoidance::kMaxShoulderAngleUntilSafeIntakeStowing,
+            shoulder_angle,
+            CollisionAvoidance::kMinShoulderAngleForIntakeUpInterference);
     return true;
   }
 
@@ -191,7 +192,8 @@
       intake_angle > Superstructure::kIntakeLowerClear &&
       (wrist_angle > CollisionAvoidance::kMaxWristAngleForMovingByIntake ||
        wrist_angle < CollisionAvoidance::kMinWristAngleForMovingByIntake)) {
-    LOG(DEBUG,
+    AOS_LOG(
+        DEBUG,
         "Collided: Intake %f < %f < %f, shoulder %f < %f < %f, and %f < %f < "
         "%f.\n",
         Superstructure::kIntakeLowerClear, intake_angle,
@@ -209,10 +211,10 @@
   if (shoulder_angle <
           CollisionAvoidance::kMinShoulderAngleForHorizontalShooter &&
       ::std::abs(wrist_angle) > kMaxWristAngleForSafeArmStowing) {
-    LOG(DEBUG, "Collided: Shoulder %f < %f and wrist |%f| > %f.\n",
-        shoulder_angle,
-        CollisionAvoidance::kMinShoulderAngleForHorizontalShooter, wrist_angle,
-        kMaxWristAngleForSafeArmStowing);
+    AOS_LOG(DEBUG, "Collided: Shoulder %f < %f and wrist |%f| > %f.\n",
+            shoulder_angle,
+            CollisionAvoidance::kMinShoulderAngleForHorizontalShooter,
+            wrist_angle, kMaxWristAngleForSafeArmStowing);
     return true;
   }
 
@@ -293,7 +295,7 @@
     control_loops::SuperstructureQueue::Status *status) {
   const State state_before_switch = state_;
   if (WasReset()) {
-    LOG(ERROR, "WPILib reset, restarting\n");
+    AOS_LOG(ERROR, "WPILib reset, restarting\n");
     arm_.Reset();
     intake_.Reset();
     state_ = UNINITIALIZED;
@@ -323,7 +325,7 @@
     case UNINITIALIZED:
       // Wait in the uninitialized state until both the arm and intake are
       // initialized.
-      LOG(DEBUG, "Uninitialized, waiting for intake and arm\n");
+      AOS_LOG(DEBUG, "Uninitialized, waiting for intake and arm\n");
       if (arm_.initialized() && intake_.initialized()) {
         state_ = DISABLED_INITIALIZED;
       }
@@ -414,10 +416,10 @@
         if (arm_.zeroed() && intake_.zeroed()) {
           state_ = RUNNING;
         } else if (IsArmNear(kLooseTolerance)) {
-          LOG(ERROR,
-              "Failed to zero while executing the HIGH_ARM_ZERO sequence. "
-              "Arm: %d Intake %d\n",
-              arm_.zeroed(), intake_.zeroed());
+          AOS_LOG(ERROR,
+                  "Failed to zero while executing the HIGH_ARM_ZERO sequence. "
+                  "Arm: %d Intake %d\n",
+                  arm_.zeroed(), intake_.zeroed());
           state_ = ESTOP;
         }
       }
@@ -515,10 +517,10 @@
           if (arm_.zeroed() && intake_.zeroed()) {
             state_ = RUNNING;
           } else {
-            LOG(ERROR,
-                "Failed to zero while executing the LOW_ARM_ZERO sequence. "
-                "Arm: %d Intake %d\n",
-                arm_.zeroed(), intake_.zeroed());
+            AOS_LOG(ERROR,
+                    "Failed to zero while executing the LOW_ARM_ZERO sequence. "
+                    "Arm: %d Intake %d\n",
+                    arm_.zeroed(), intake_.zeroed());
             state_ = ESTOP;
           }
         }
@@ -627,7 +629,7 @@
     } break;
 
     case ESTOP:
-      LOG(ERROR, "Estop\n");
+      AOS_LOG(ERROR, "Estop\n");
       disable = true;
       break;
   }
diff --git a/y2016/control_loops/superstructure/superstructure_controls.cc b/y2016/control_loops/superstructure/superstructure_controls.cc
index e787f79..b8f3a48 100644
--- a/y2016/control_loops/superstructure/superstructure_controls.cc
+++ b/y2016/control_loops/superstructure/superstructure_controls.cc
@@ -55,7 +55,8 @@
 
 void Arm::UpdateWristOffset(double offset) {
   const double doffset = offset - offset_(1, 0);
-  LOG(INFO, "Adjusting Wrist offset from %f to %f\n", offset_(1, 0), offset);
+  AOS_LOG(INFO, "Adjusting Wrist offset from %f to %f\n", offset_(1, 0),
+          offset);
 
   loop_->mutable_X_hat()(2, 0) += doffset;
   Y_(1, 0) += doffset;
@@ -72,7 +73,8 @@
 
 void Arm::UpdateShoulderOffset(double offset) {
   const double doffset = offset - offset_(0, 0);
-  LOG(INFO, "Adjusting Shoulder offset from %f to %f\n", offset_(0, 0), offset);
+  AOS_LOG(INFO, "Adjusting Shoulder offset from %f to %f\n", offset_(0, 0),
+          offset);
 
   loop_->mutable_X_hat()(0, 0) += doffset;
   loop_->mutable_X_hat()(2, 0) += doffset;
@@ -101,11 +103,11 @@
 
   // Handle zeroing errors
   if (estimators_[kShoulderIndex].error()) {
-    LOG(ERROR, "zeroing error with shoulder_estimator\n");
+    AOS_LOG(ERROR, "zeroing error with shoulder_estimator\n");
     return;
   }
   if (estimators_[kWristIndex].error()) {
-    LOG(ERROR, "zeroing error with wrist_estimator\n");
+    AOS_LOG(ERROR, "zeroing error with wrist_estimator\n");
     return;
   }
 
@@ -138,26 +140,26 @@
   // Limit the goals to min/max allowable angles.
 
   if ((*goal)(0, 0) > constants::Values::kShoulderRange.upper) {
-    LOG(WARNING, "Shoulder goal %s above limit, %f > %f\n", name, (*goal)(0, 0),
-        constants::Values::kShoulderRange.upper);
+    AOS_LOG(WARNING, "Shoulder goal %s above limit, %f > %f\n", name,
+            (*goal)(0, 0), constants::Values::kShoulderRange.upper);
     (*goal)(0, 0) = constants::Values::kShoulderRange.upper;
   }
   if ((*goal)(0, 0) < constants::Values::kShoulderRange.lower) {
-    LOG(WARNING, "Shoulder goal %s below limit, %f < %f\n", name, (*goal)(0, 0),
-        constants::Values::kShoulderRange.lower);
+    AOS_LOG(WARNING, "Shoulder goal %s below limit, %f < %f\n", name,
+            (*goal)(0, 0), constants::Values::kShoulderRange.lower);
     (*goal)(0, 0) = constants::Values::kShoulderRange.lower;
   }
 
   const double wrist_goal_angle_ungrounded = (*goal)(2, 0) - (*goal)(0, 0);
 
   if (wrist_goal_angle_ungrounded > constants::Values::kWristRange.upper) {
-    LOG(WARNING, "Wrist goal %s above limit, %f > %f\n", name,
-        wrist_goal_angle_ungrounded, constants::Values::kWristRange.upper);
+    AOS_LOG(WARNING, "Wrist goal %s above limit, %f > %f\n", name,
+            wrist_goal_angle_ungrounded, constants::Values::kWristRange.upper);
     (*goal)(2, 0) = constants::Values::kWristRange.upper + (*goal)(0, 0);
   }
   if (wrist_goal_angle_ungrounded < constants::Values::kWristRange.lower) {
-    LOG(WARNING, "Wrist goal %s below limit, %f < %f\n", name,
-        wrist_goal_angle_ungrounded, constants::Values::kWristRange.lower);
+    AOS_LOG(WARNING, "Wrist goal %s below limit, %f < %f\n", name,
+            wrist_goal_angle_ungrounded, constants::Values::kWristRange.lower);
     (*goal)(2, 0) = constants::Values::kWristRange.lower + (*goal)(0, 0);
   }
 }
@@ -195,9 +197,9 @@
 bool Arm::CheckHardLimits() {
   if (shoulder_angle() > constants::Values::kShoulderRange.upper_hard ||
       shoulder_angle() < constants::Values::kShoulderRange.lower_hard) {
-    LOG(ERROR, "Shoulder at %f out of bounds [%f, %f], ESTOPing\n",
-        shoulder_angle(), constants::Values::kShoulderRange.lower_hard,
-        constants::Values::kShoulderRange.upper_hard);
+    AOS_LOG(ERROR, "Shoulder at %f out of bounds [%f, %f], ESTOPing\n",
+            shoulder_angle(), constants::Values::kShoulderRange.lower_hard,
+            constants::Values::kShoulderRange.upper_hard);
     return true;
   }
 
@@ -205,10 +207,10 @@
           constants::Values::kWristRange.upper_hard ||
       wrist_angle() - shoulder_angle() <
           constants::Values::kWristRange.lower_hard) {
-    LOG(ERROR, "Wrist at %f out of bounds [%f, %f], ESTOPing\n",
-        wrist_angle() - shoulder_angle(),
-        constants::Values::kWristRange.lower_hard,
-        constants::Values::kWristRange.upper_hard);
+    AOS_LOG(ERROR, "Wrist at %f out of bounds [%f, %f], ESTOPing\n",
+            wrist_angle() - shoulder_angle(),
+            constants::Values::kWristRange.lower_hard,
+            constants::Values::kWristRange.upper_hard);
     return true;
   }
 
@@ -239,15 +241,15 @@
 
   // Shoulder saturated
   if (!disable && loop_->U(0, 0) != loop_->U_uncapped(0, 0)) {
-    LOG(DEBUG, "Moving shoulder state.  U: %f, %f\n", loop_->U(0, 0),
-        loop_->U_uncapped(0, 0));
+    AOS_LOG(DEBUG, "Moving shoulder state.  U: %f, %f\n", loop_->U(0, 0),
+            loop_->U_uncapped(0, 0));
     shoulder_profile_.MoveCurrentState(loop_->R().block<2, 1>(0, 0));
   }
 
   // Wrist saturated
   if (!disable && loop_->U(1, 0) != loop_->U_uncapped(1, 0)) {
-    LOG(DEBUG, "Moving shooter state.  U: %f, %f\n", loop_->U(1, 0),
-        loop_->U_uncapped(1, 0));
+    AOS_LOG(DEBUG, "Moving shooter state.  U: %f, %f\n", loop_->U(1, 0),
+            loop_->U_uncapped(1, 0));
     wrist_profile_.MoveCurrentState(loop_->R().block<2, 1>(2, 0));
   }
 }
diff --git a/y2016/control_loops/superstructure/superstructure_controls.h b/y2016/control_loops/superstructure/superstructure_controls.h
index 49c8097..8936650 100644
--- a/y2016/control_loops/superstructure/superstructure_controls.h
+++ b/y2016/control_loops/superstructure/superstructure_controls.h
@@ -41,9 +41,9 @@
 
     const double bemf_voltage = X_hat(1, 0) / kV_shoulder;
     bool use_accelerating_controller = true;
-    LOG(DEBUG, "Accelerating at %f, decel %f, bemf %f\n",
-        accelerating_controller(0, 0), accelerating_controller(1, 0),
-        bemf_voltage);
+    AOS_LOG(DEBUG, "Accelerating at %f, decel %f, bemf %f\n",
+            accelerating_controller(0, 0), accelerating_controller(1, 0),
+            bemf_voltage);
     if (IsAccelerating(bemf_voltage, accelerating_controller(0, 0))) {
       use_accelerating_controller = true;
     } else {
@@ -71,7 +71,7 @@
       const double coupled_amount = (controller().Kff().block<1, 2>(1, 2) *
                                      plant().B().block<2, 1>(2, 0))(0, 0) *
                                     overage_amount;
-      LOG(DEBUG, "Removing coupled amount %f\n", coupled_amount);
+      AOS_LOG(DEBUG, "Removing coupled amount %f\n", coupled_amount);
       mutable_U(1, 0) += coupled_amount;
     }
     if (U(0, 0) < min_voltage(0)) {
@@ -80,7 +80,7 @@
       const double coupled_amount = (controller().Kff().block<1, 2>(1, 2) *
                                      plant().B().block<2, 1>(2, 0))(0, 0) *
                                     under_amount;
-      LOG(DEBUG, "Removing coupled amount %f\n", coupled_amount);
+      AOS_LOG(DEBUG, "Removing coupled amount %f\n", coupled_amount);
       mutable_U(1, 0) += coupled_amount;
     }
 
diff --git a/y2016/control_loops/superstructure/superstructure_lib_test.cc b/y2016/control_loops/superstructure/superstructure_lib_test.cc
index 969102f..79b4d24 100644
--- a/y2016/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2016/control_loops/superstructure/superstructure_lib_test.cc
@@ -194,24 +194,24 @@
     if (superstructure_status_fetcher_->state == Superstructure::RUNNING ||
         superstructure_status_fetcher_->state ==
             Superstructure::LANDING_RUNNING) {
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_intake),
-               Superstructure::kOperatingVoltage);
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_shoulder),
-               Superstructure::kOperatingVoltage);
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_wrist),
-               Superstructure::kOperatingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_intake),
+                   Superstructure::kOperatingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_shoulder),
+                   Superstructure::kOperatingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_wrist),
+                   Superstructure::kOperatingVoltage);
     } else {
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_intake),
-               Superstructure::kZeroingVoltage);
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_shoulder),
-               Superstructure::kZeroingVoltage);
-      CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_wrist),
-               Superstructure::kZeroingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_intake),
+                   Superstructure::kZeroingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_shoulder),
+                   Superstructure::kZeroingVoltage);
+      AOS_CHECK_LE(::std::abs(superstructure_output_fetcher_->voltage_wrist),
+                   Superstructure::kZeroingVoltage);
     }
     if (arm_plant_->X(0, 0) <=
         Superstructure::kShoulderTransitionToLanded + 1e-4) {
-      CHECK_GE(superstructure_output_fetcher_->voltage_shoulder,
-               Superstructure::kLandingShoulderDownVoltage - 0.00001);
+      AOS_CHECK_GE(superstructure_output_fetcher_->voltage_shoulder,
+                   Superstructure::kLandingShoulderDownVoltage - 0.00001);
     }
 
     // Use the plant to generate the next physical state given the voltages to
diff --git a/y2016/dashboard/dashboard.cc b/y2016/dashboard/dashboard.cc
index d69afcb..27036e0 100644
--- a/y2016/dashboard/dashboard.cc
+++ b/y2016/dashboard/dashboard.cc
@@ -152,7 +152,7 @@
 
 void DataCollector::AddPoint(const ::std::string &name, double value) {
   // Mutex should be locked when this method is called to synchronize packets.
-  CHECK(mutex_.OwnedBySelf());
+  AOS_CHECK(mutex_.OwnedBySelf());
 
   size_t index = GetIndex(sample_id_);
 
@@ -254,8 +254,8 @@
 
 void SocketHandler::onConnect(seasocks::WebSocket *connection) {
   connections_.insert(connection);
-  LOG(INFO, "Connected: %s : %s\n", connection->getRequestUri().c_str(),
-      seasocks::formatAddress(connection->getRemoteAddress()).c_str());
+  AOS_LOG(INFO, "Connected: %s : %s\n", connection->getRequestUri().c_str(),
+          seasocks::formatAddress(connection->getRemoteAddress()).c_str());
 }
 
 void SocketHandler::onData(seasocks::WebSocket *connection, const char *data) {
@@ -267,8 +267,8 @@
 
 void SocketHandler::onDisconnect(seasocks::WebSocket *connection) {
   connections_.erase(connection);
-  LOG(INFO, "Disconnected: %s : %s\n", connection->getRequestUri().c_str(),
-      seasocks::formatAddress(connection->getRemoteAddress()).c_str());
+  AOS_LOG(INFO, "Disconnected: %s : %s\n", connection->getRequestUri().c_str(),
+          seasocks::formatAddress(connection->getRemoteAddress()).c_str());
 }
 
 void SocketHandler::Quit() {
diff --git a/y2016/joystick_reader.cc b/y2016/joystick_reader.cc
index 4e4ccef..276fda6 100644
--- a/y2016/joystick_reader.cc
+++ b/y2016/joystick_reader.cc
@@ -126,10 +126,10 @@
         actors::VisionAlignActionParams params;
         EnqueueAction(vision_align_action_factory_.Make(params));
         vision_action_running_ = true;
-        LOG(INFO, "Starting vision align\n");
+        AOS_LOG(INFO, "Starting vision align\n");
       } else {
         if (!vision_valid_) {
-          LOG(INFO, "Vision align but not valid\n");
+          AOS_LOG(INFO, "Vision align but not valid\n");
         }
       }
     }
@@ -147,7 +147,7 @@
   void HandleTeleop(const ::aos::input::driver_station::Data &data) {
     if (!data.GetControlBit(ControlBit::kEnabled)) {
       // If we are not enabled, reset the waiting for zero bit.
-      LOG(DEBUG, "Waiting for zero.\n");
+      AOS_LOG(DEBUG, "Waiting for zero.\n");
       waiting_for_zero_ = true;
     }
 
@@ -158,18 +158,18 @@
     bool force_lights_on = false;
     if (!data.GetControlBit(ControlBit::kEnabled)) {
       CancelAllActions();
-      LOG(DEBUG, "Canceling\n");
+      AOS_LOG(DEBUG, "Canceling\n");
     }
 
     superstructure_status_fetcher_.Fetch();
     if (!superstructure_status_fetcher_.get()) {
-      LOG(ERROR, "Got no superstructure status packet.\n");
+      AOS_LOG(ERROR, "Got no superstructure status packet.\n");
     }
 
     if (superstructure_status_fetcher_.get() &&
         superstructure_status_fetcher_->zeroed) {
       if (waiting_for_zero_) {
-        LOG(DEBUG, "Zeroed! Starting teleop mode.\n");
+        AOS_LOG(DEBUG, "Zeroed! Starting teleop mode.\n");
         waiting_for_zero_ = false;
       }
     } else {
@@ -379,10 +379,10 @@
         new_superstructure_goal->force_intake = true;
 
         if (!new_superstructure_goal.Send()) {
-          LOG(ERROR, "Sending superstructure goal failed.\n");
+          AOS_LOG(ERROR, "Sending superstructure goal failed.\n");
         } else {
-          LOG(DEBUG, "sending goals: intake: %f, shoulder: %f, wrist: %f\n",
-              intake_goal_, shoulder_goal_, wrist_goal_);
+          AOS_LOG(DEBUG, "sending goals: intake: %f, shoulder: %f, wrist: %f\n",
+                  intake_goal_, shoulder_goal_, wrist_goal_);
         }
       }
 
@@ -394,7 +394,7 @@
       shooter_message->shooting_forwards = wrist_goal_ > 0;
 
       if (!shooter_message.Send()) {
-        LOG(ERROR, "Sending shooter goal failed.\n");
+        AOS_LOG(ERROR, "Sending shooter goal failed.\n");
       }
     }
   }
diff --git a/y2016/vision/stereo_geometry.cc b/y2016/vision/stereo_geometry.cc
index b58cb82..a58675c 100644
--- a/y2016/vision/stereo_geometry.cc
+++ b/y2016/vision/stereo_geometry.cc
@@ -10,8 +10,8 @@
       return calibration.calibration();
     }
   }
-  LOG(FATAL, "no calibration for %s found in %s\n", robot_name.c_str(),
-      calibration_file.ShortDebugString().c_str());
+  AOS_LOG(FATAL, "no calibration for %s found in %s\n", robot_name.c_str(),
+          calibration_file.ShortDebugString().c_str());
 }
 
 }  // namespace vision
diff --git a/y2016/vision/target_receiver.cc b/y2016/vision/target_receiver.cc
index a496848..a66be59 100644
--- a/y2016/vision/target_receiver.cc
+++ b/y2016/vision/target_receiver.cc
@@ -304,8 +304,8 @@
           ".y2016.vision.vision_status");
 
   StereoGeometry stereo(constants::GetValues().vision_name);
-  LOG(INFO, "calibration: %s\n",
-      stereo.calibration().ShortDebugString().c_str());
+  AOS_LOG(INFO, "calibration: %s\n",
+          stereo.calibration().ShortDebugString().c_str());
 
   DrivetrainOffsetCalculator drivetrain_offset(&event_loop);
 
@@ -328,7 +328,7 @@
         right.Received(target, now);
       }
     } else {
-      LOG(ERROR, "oh noes: parse error\n");
+      AOS_LOG(ERROR, "oh noes: parse error\n");
       continue;
     }
 
@@ -404,20 +404,22 @@
       }
 
       if (drivetrain_offset.CompleteVisionStatus(new_vision_status.get())) {
-        LOG_STRUCT(DEBUG, "vision", *new_vision_status);
+        AOS_LOG_STRUCT(DEBUG, "vision", *new_vision_status);
         if (!new_vision_status.Send()) {
-          LOG(ERROR, "Failed to send vision information\n");
+          AOS_LOG(ERROR, "Failed to send vision information\n");
         }
       } else {
-        LOG_STRUCT(WARNING, "vision without drivetrain", *new_vision_status);
+        AOS_LOG_STRUCT(WARNING, "vision without drivetrain",
+                       *new_vision_status);
       }
     }
 
     if (target.camera_index() == 0) {
-      LOG(DEBUG, "left_target: %s\n", left.target().ShortDebugString().c_str());
+      AOS_LOG(DEBUG, "left_target: %s\n",
+              left.target().ShortDebugString().c_str());
     } else {
-      LOG(DEBUG, "right_target: %s\n",
-          right.target().ShortDebugString().c_str());
+      AOS_LOG(DEBUG, "right_target: %s\n",
+              right.target().ShortDebugString().c_str());
     }
   }
 }
diff --git a/y2016/wpilib_interface.cc b/y2016/wpilib_interface.cc
index 5b5fecb..9b31a0f 100644
--- a/y2016/wpilib_interface.cc
+++ b/y2016/wpilib_interface.cc
@@ -307,7 +307,7 @@
     {
       auto ball_detector_message = ball_detector_sender_.MakeMessage();
       ball_detector_message->voltage = ball_detector_->GetVoltage();
-      LOG_STRUCT(DEBUG, "ball detector", *ball_detector_message);
+      AOS_LOG_STRUCT(DEBUG, "ball detector", *ball_detector_message);
       ball_detector_message.Send();
     }
 
@@ -319,7 +319,7 @@
           auto_mode_message->mode |= 1 << i;
         }
       }
-      LOG_STRUCT(DEBUG, "auto mode", *auto_mode_message);
+      AOS_LOG_STRUCT(DEBUG, "auto mode", *auto_mode_message);
       auto_mode_message.Send();
     }
   }
@@ -414,13 +414,13 @@
  private:
   void Loop(const int iterations) {
     if (iterations != 1) {
-      LOG(DEBUG, "Solenoids skipped %d iterations\n", iterations - 1);
+      AOS_LOG(DEBUG, "Solenoids skipped %d iterations\n", iterations - 1);
     }
 
     {
       drivetrain_.Fetch();
       if (drivetrain_.get()) {
-        LOG_STRUCT(DEBUG, "solenoids", *drivetrain_);
+        AOS_LOG_STRUCT(DEBUG, "solenoids", *drivetrain_);
         drivetrain_shifter_->Set(
             !(drivetrain_->left_high || drivetrain_->right_high));
       }
@@ -429,7 +429,7 @@
     {
       shooter_.Fetch();
       if (shooter_.get()) {
-        LOG_STRUCT(DEBUG, "solenoids", *shooter_);
+        AOS_LOG_STRUCT(DEBUG, "solenoids", *shooter_);
         shooter_clamp_->Set(shooter_->clamp_open);
         shooter_pusher_->Set(shooter_->push_to_shooter);
         lights_->Set(shooter_->lights_on);
@@ -452,7 +452,7 @@
     {
       superstructure_.Fetch();
       if (superstructure_.get()) {
-        LOG_STRUCT(DEBUG, "solenoids", *superstructure_);
+        AOS_LOG_STRUCT(DEBUG, "solenoids", *superstructure_);
 
         climber_trigger_->Set(superstructure_->unfold_climber);
 
@@ -467,7 +467,7 @@
 
       pcm_->Flush();
       to_log.read_solenoids = pcm_->GetAll();
-      LOG_STRUCT(DEBUG, "pneumatics info", to_log);
+      AOS_LOG_STRUCT(DEBUG, "pneumatics info", to_log);
     }
   }
 
@@ -501,14 +501,14 @@
 
  private:
   void Write(const ShooterQueue::Output &output) override {
-    LOG_STRUCT(DEBUG, "will output", output);
+    AOS_LOG_STRUCT(DEBUG, "will output", output);
 
     shooter_left_talon_->SetSpeed(output.voltage_left / 12.0);
     shooter_right_talon_->SetSpeed(-output.voltage_right / 12.0);
   }
 
   void Stop() override {
-    LOG(WARNING, "Shooter output too old.\n");
+    AOS_LOG(WARNING, "Shooter output too old.\n");
     shooter_left_talon_->SetDisabled();
     shooter_right_talon_->SetDisabled();
   }
@@ -551,7 +551,7 @@
  private:
   virtual void Write(const ::y2016::control_loops::SuperstructureQueue::Output
                          &output) override {
-    LOG_STRUCT(DEBUG, "will output", output);
+    AOS_LOG_STRUCT(DEBUG, "will output", output);
     intake_talon_->SetSpeed(::aos::Clip(output.voltage_intake,
                                         -kMaxBringupPower, kMaxBringupPower) /
                             12.0);
@@ -567,7 +567,7 @@
   }
 
   virtual void Stop() override {
-    LOG(WARNING, "Superstructure output too old.\n");
+    AOS_LOG(WARNING, "Superstructure output too old.\n");
     intake_talon_->SetDisabled();
     shoulder_talon_->SetDisabled();
     wrist_talon_->SetDisabled();