I was trying to troubleshoot an intermittent issue with a .NET application connecting to vsftpd on a Linux box today. The issue is that the .NET application raises an exception when it gets a 500 error from the remote FTP server, but not very descriptive about what error message it got from the server, just the error code. This makes it hard to troubleshoot, because vsftpd issues 500 errors for some different error conditions. And unfortunately the logging on vsftpd is not very detailed.

So I did some Googling and found this old blog entry from 2005 that details how to enable System.Net tracing in a .config file for a .NET app. The logs are very detailed, and it gives everything I need to troubleshoot, without any need to recompile or modify the application itself. Good stuff!