<p>I am designing a error logging feature so our servers (each donig different things) can have a central data store for logging errors.</p>

<p>Would it be a good idea to have the various applications writing to the error log file using a WCF service, or is that a bad idea?</p>

<p>they <em>can</em> do it just by ADO.NET to the database, which I think is the simpler route.</p>

I'd say just log to your local data store.  The advantages are :
Speed - it's pretty rapid to just
dump your chosen error report to an
existing data connection.
Tracability - What happens if you
have an error in your service?  You
lose all ability to chase down
errors on all servers.
Simplicity - If you change the
endpoint for your errors service,
you have to update every other
application that uses the error
service.
Reporting - Do you really want to
trawl through error reports from
tens / hundreds of applications in
one place when you could easily find
them in the data store local to the
app?
Of course, any of these points could be viewed from the other side, these are just my opinions.