At work we got a pretty heavy discussion about whether or not we should log the stuff happening in the API we're designing. I personnaly don't see the point in putting log-statements in our API. The exceptions mechanisms, profilers, etc. are enough for monitorring what is happening in our API. Secondly, I don't think our clients should know exactly what is happening when using our API ("information hiding"), they should only know what happened behind the scenes when exceptions are throwed. So what do you think about using logging in API's, useful or just overhead, what are the pros/cons? Shouldn't the applications using the API log what is happening?