• I tend to store things in tables simply because of reporting and retention requirements. If a server gets tight on space it would be no surprise that someone would delete log files to free it up. In the virtual world that isn't a regular thing these days since we can just throw more space at the issue if need be, but that isn't always the right thing to do. SAN space isn't limitless and it certainly isn't free. I have one process where we are required to retain five years of log records. I could create a file system process to keep all that in order and compress older files, but if someone wants to see something from two years ago I'd have to go through some work to dig it out. And of course, they want it in Excel. Being in a table and having an SSRS front end with parameters allows the requester to get things on their own.

    Using tables allows me to have a single Agent job that maintains table retention requirements. If I have 20 processes that log things on different servers, I don't want to have to potentially touch any of them. I also don't want to have to create processes that pull text files from multiple servers and load them in to a single location because I know people will want reports, not text files. A table solves that. Our ESXi clusters have 30 day retention policies, but I pull everything in to a log table and keep it so we can know everything that has ever happened to an object, not just 30 days.

    I really can't think of a reason I would want to log things to a file unless it was a requirement.

    Cheers