Используйте git config --global url.
для замены URL на лету. Нечто подобное
git config --global url..insteadOf git@:/.git
См. Больше примеров в https://stackoverflow.com/search?q=%5Bgit-submodules%5D+insteadof
Microsoft зарегистрировала его с этим примером на MSDN
Я использую log4net с ULS LogAppender fromCodeplex: http://splog4net.codeplex.com/
Подробности об этом здесь: http://geekswithblogs.net/dotnetrodent/archive/2008/09/11/125079.aspx
И log4net здесь: http://logging.apache.org/log4net/index.html
Я считаю, что это лучшее решение просто потому, что когда я и как регистрирую, что-то меняется от клиента к клиенту, а log4net позволяет мне -конфигурировать это очень легко.