I'd recommend not just looking at the type of web-server, but instead primarily focusing on the kind of website that you're running. Keep in mind that a Sitemap file is basically just a list of the valid URLs on your website. There are many ways that you could come up with a list like that (and with the associated meta-data, if you wish to provide it). In general, the best way to do that is to handle it directly within the application running your website, as you'd have the best information on that level.
For example, if your website is database-driven, then using the same database to generate a list of valid URLs is going to be much easier and produce higher-quality data than parsing your server's access logs. Most CMS have Sitemap plugins available (or even generate them by default), so that's where I'd recommend going first.