3. Наречие long соответствует в русском языке наречиям долго, давно и употребляется в вопросительных предложениях:
Did you work long yesterday?
Вы вчера долго работали?
Have you been learning English long?
Вы давно изучаете английский язык?

В утвердительных и отрицательных предложениях употребляется (for) a long time как со значением долго, так и со значением давно:
Не lived in Leningrad (for) a long time.
Я долго жил в Ленинграде.
I didn't see him after that (for) a long time.
Я после этого долго его не видел.
I have known them (for) a long time.
Я давно их знаю.
I haven't seen him (for) a long time.
Я давно его не видел.

Наречие long также употребляется и в отрицательных предложениях, но в этом случае not ... long соответствует в русском языке наречиям недолго, недавно:
I didn't stay long in Kiev.
Я недолго пробыл в Киеве.
I haven't been living here long.
Я живу здесь недавно.
(Сравните предложения: It didn't rain long. Дождьшелнедолгои It didn't rain for a long time. Дождя не было давно.)

Наречие long как со значением долго, так и со значением давно употребляется в утвердительных и отрицательных предложениях, когда оно определяется словами too слишком, so так:
Не lived so long in Leningrad that he must know it very well.
Он так, долго жил в Ленинграде, что он, должно быть, знает его очень хорошо.
You shouldn't work too long today.
Вам не следует слишком долго работать сегодня.
I have been living in Moscow too long not to know it well.
Я слишком долго живу в Москве, чтобы не знать ее хорошо.
I haven't seen him so long that I am afraid that I won't recognize him.
Я так давно его не видел, что боюсь, что не узнаю его.

master@onlinenglish.ru