Долго = 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.