Instead of doing it this way, I think I'd prefer the RequestLogger to have the Object mapper and pass it along to the RequestLogLine on the getLine() method.  Then RequestLogLine can do the writeValueAsString() call.

This is just so that the thing(s) that are building the RequestLogLine don't actually have to care about how it's gonna end up on disk.  If we want to change that at some point in the future, we just change RequestLogLine and RequestLogger without changing the call sites.