title: Wrapping `console.log` and retaining call stack
body: <p>In my logging helper class, I have the following:</p>
  
  <p><code>this.myInfo = console.info.bind(console);</code></p>
  
  <p>When I call my <code>myInfo</code> function from elsewhere, the calling object and line number are correctly retained and logged in the Chrome devtools.</p>
  
  <p>When I run <code>myInfo</code> though, I also want to run another local function in addition to the <code>console.info</code>.  Hence, I figured I could just wrap the above and it would work.  I've come up with the following:</p>
  
  <pre><code>var obj = this;
  this.myInfo = (function() {
      console.info.apply(this, arguments);
      myOtherFunc.apply(obj, arguments);
  }).bind(console);
  </code></pre>
  
  <p>The problem is that unlike my first example, I lose the calling context for <code>console.info</code>, and the wrong line number and file are logged in the devTools.</p>
  
  <p>How can I wrap the first example and retain the proper context for the <code>console.info</code>?</p>