I've put most of these on my todo list, excellent suggestions! Some points...
- I agree that the TDIWX set is better than the longer versions, though I think I might make that configurable.
- Using $0 and @ARGV are good ideas, but if this is used in a module, not a script, that isn't useful. And, since it's very easy for a script author to simply info 'Started '.$0.join(' '.@ARGV);, I have a hard time justifying that as default module behavior. I'd be interested in opposing arguments if I'm missing something.
- PID logging is a good idea, but I will be keeping the sequence numbers as an option (appended to the PID).
- I see your points about the ISO8601 format. Enough, in fact, to make the strftime format param configurable. However, I'm leaving 8601 as the default because its a standard, and I think standards make the most reasonable default. Hopefully, with the configurable format, everyone wins.
Thanks so much for the feedback! Extremely useful.