<script>
function logParams(name, params) {
  console.log(name + "(" + JSON.stringify(params, null, " ") + ")");
}

function loggingStub(name) {
  return function(params) {
    logParams(name, params);
  }
}

module.exports = {
    logParams: logParams,
    loggingStub: loggingStub,
}
</script>
