99% chance that your Suburu's "Check Engine Light" is on because of a bad solenoid.

Dear Car Talk | Dec 01, 1995
Dear Tom and Ray:
Paul
RAY: ECS...let's see. I think that means "Engine to Crap-out Soon," Paul.
TOM: Actually, ECS is Subaru's "Check Engine" light. It means the car's computer has stored a trouble code.
RAY: Underneath the dashboard, right above your knees is the computer. If you remove the plastic panel and turn the key on, you'll see the light on the computer flashing the code. For instance, you may see three long flashes followed by four short flashes, which would be code 34. Then you can call a Subaru dealer and ask them what that code is for.
TOM: And they'll probably tell you it's the EGR solenoid, which is what it is on 98.576% of all Subarus we work on.
RAY: You can confirm this diagnosis by asking the dealer is he has any EGR solenoids in stock. And when he tells you he has 800 of them, you'll know its a common problem.
Paul
RAY: ECS...let's see. I think that means "Engine to Crap-out Soon," Paul.
TOM: Actually, ECS is Subaru's "Check Engine" light. It means the car's computer has stored a trouble code.
RAY: Underneath the dashboard, right above your knees is the computer. If you remove the plastic panel and turn the key on, you'll see the light on the computer flashing the code. For instance, you may see three long flashes followed by four short flashes, which would be code 34. Then you can call a Subaru dealer and ask them what that code is for.
TOM: And they'll probably tell you it's the EGR solenoid, which is what it is on 98.576% of all Subarus we work on.
RAY: You can confirm this diagnosis by asking the dealer is he has any EGR solenoids in stock. And when he tells you he has 800 of them, you'll know its a common problem.
Got a question about your car?