If a super basic approach like this is functionally sufficient for your needs, you can stick with it. But, you might ask yourself a few questions to make sure:
Is it possible for events to be logged concurrently by multiple threads? This function is not threadsafe
Is error notification needed?
Is there a risk of the log files growing without bounds with no automated pruning?
Would you benefit from more extensive logging so that you had more info about events leading up to an error?
Would you benefit from more detail about errors (stack trace, exception details, etc)
Does your program run on multiple computers? If so, how do logs get to you?
Is there any need/value in tools to help analyze log files (either singularly or finding patterns such as common errors across many log files)?
If you decide that you have other requirements, there are a number of free logging frameworks such as NLog or log4net that can help record more detailed logs, and there are several commercial products such as GIBRALTAR and SmartInspect available that can help with log management and analysis.