Asciidoctor is a great tool for writing technical documentation. The documentation to our Java source is what we write in Javadoc comments. Wouldn't it be nice if we could use Asciidoctor in our Javadoc comments? Of course! We can achieve this with the Asciidoclet Javadoc doclet. The doclet processes the Javadoc comments as Asciidoctor source and generates HTML in the final Javadoc documentation. We can use all of Asciidoc syntax like tables, lists, include directives, styling and more. We can even use Asciidoctor extensions like asciidoctor-diagram.
Archive: November 2015
In a previous post we learned how to log request information in common log or NCSA format. But we can also provide our own implementation of a
RequestLogger to log for example the time spent in processing a request. One of the easiest ways to do this is by using the
RequestLogger.of method. We can provide a lambda expression or closure for this method with an argument type
RequestOutcome class has properties to access the request and sent response objects. And it also contains a
Duration object which has the duration of the time spent for the total request (all handlers in the chain). This doesn't include the necessary time to send the request to the client.
Ratpack comes with a special handler to log requests in the common log or NCSA format. We need the (default) interface
ratpack.handling.RequestLogger which has a method
ncsa that returns a handler instance capable of logging our request data.
To start our Ratpack application with a random port number we must use the value
0 as port number. The value
0 tells Ratpack to use a random port number (in a safe port range).