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