We have several choices for logging in our .NET (C#) server application. We are going to use Enterprise Library. So here are the ways to go:
1) Writing log to MSMQ synchronously, then reading MSMQ with Win Service. Queue is on the local machine for server application.
2) Writing log to disk (i.e. rolling text files) synchronously.
3) Writing log to database (Oracle, in our application) synchronously.
Log amount might be fairly high. So which one is the most performant? I guess ordering is 1, 2, 3. Am I right? Is there any other performance factor, besides write speed, in this specific scenario? Are there any other choices, that I have not pointed out here, that might be more better way?