in reply to Balancing Logging and Code Readability

I think you've hit upon a very basic dilemma that most, if not all, good programmers have. I know that issue is something I struggle with as well.

My solution to the problem has been two-fold:
  1. I make sure that the first thing on the line is the "important" code.
  2. I sometimes line-break then indent my logging code, to further emphasize its subordinate status.

Here's an example:
# bad log("This code is broken!") unless $obj->method_call(arg1 => 'abc', ar +g2 => 123); # good $obj->method_call(arg1 => 'abc', arg2 => 123) or log("This code is broken!");
I'm not saying my way is the One True Way, but that's what I do and it works for me.

It's all fine and dandy until someone has to look at the code.