<p>I would like to know if you guys have any suggestions about debug levels when writing an application.</p>

<p>I thought about 4 levels:</p>

<p>0 : No Debug<br>
1 : All inputs and outputs<br>
2 : "I am here" notification from significant functions with main parameters<br>
3 : All variables verbose</p>

Whatever you choose, there will be something you wanted to see which is just into the next level...
I don't think there is a general answer to this question, because it's so dependent on what the application is doing.  Much like the oily pages in the Haynes manual (UK readers will know what I mean), I tend to find that you end up with heavy logging in the areas which have traditionally been troublesome, and almost none in the area which is going to cause you trouble
next
.