### Question:
DefaultController extends Results implements Status, HeaderNames, Controller { public Logger logger() { if (logger == null) { logger = LoggerFactory.getLogger(this.getClass().getName()); } return logger; }  Logger logger(); Context context(); Request request(); SessionCookie session(); void session(String key, String value); String session(String key); FlashCookie flash(); void flash(String key, String value); String flash(String key); List<Route> routes(); Renderable<?> render(Template template, Map<String, Object> parameters); Renderable<?> render(Template template, Object... parameters); Renderable<?> render(Template template);  }### Answer:
@Test public void testLoggerAccess() { EmptyController controller = new EmptyController(); assertThat(controller.logger()).isNotNull(); assertThat(controller.logger().getName()).isEqualTo(EmptyController.class.getName()); controller.logger().info("test logging"); assertThat(controller.logger()).isSameAs(controller.logger()); }