Долго = long time
Давно = long time ago 
1) Мы давно не виделись
2) Мы долго не виделись
We haven't seen each other for a long time.
They both mean the same, maybe slight shade of "in ages" in the first phrase. 
Я давно закончил институт
I graduated a long time ago. (долго is unacceptable) 
Мы долго спорили
We were arguing for a long time 
Мы давно спорили
We argued a long time ago 
Мы давно спорим
We've been arguing since a long time ago 
Мы долго спорим
We're arguing for a very long time 
Я долго думал прежде чем сказать тебе это.
I was thinking for a long time before telling you that. 
Я давно думал сказать тебе это.
I thought a long time ago that I had to tell you that.