FOA after learning some .Net logging basics, to monitor an application, there are several logging-utilities, such as
LogExpert tool to perform logging in windows. Apache Log4j is very good but will not be compatible with .Net. There are a number of logging tools for .Net, select one from the following two categories:
A. Built-in logging providers from the .net framework you can perform logging using: Console, Debug, EventSource and EventLog classes to provider logs output to the console, writes log output to the debug provider, writes to a cross-platform event source, and provider sends log output to the Windows Event Log respectively.
B. Using a list of Third-party logging providers.
For in-depth scientific tasks such as application performance monitoring and dynamic software analysis framework are available, such as Kieker. But for .Net you have to ask for support.