Долго = 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.
Some examples in order to see if I understood
1. Он долго одевается = He is dressing for a long time (based on what you said). Here I would have bet that it means: "He takes a long time to dress"
2. Он давно работает здесь = He has been working here since a long time ago. Here I suppose it means: He has been woling here for a long time.
3. Он давно жил там = He had been living there for a long time

Conclusions:
1. давно + совершенный вид = Past Perfect
etc