Обычно это диагностическая конфигурация, которую я использую. Кажется, работает на меня.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
...
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Verbose">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="D:\wcfLog.svcLog" />
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>
Если вы не получаете никаких выходных данных, это может быть связано с тем, что ваша служба запускается неправильно. ServiceHost должен быть включен для диагностики, чтобы вывести что-либо. С IIS, даже если ваш сайт работает, это не означает, что ServiceHost запущен правильно. Обычно это проблема конфигурации. Я не веб-парень, но разве IIS не пишет в EventViewer, если на сайте есть необработанное исключение?
Кроме того, вы можете попробовать создать собственную ServiceHostFactory. Таким образом, ваш код контролирует создание ServiceHost, и вы можете перехватывать любые исключения и регистрировать их самостоятельно.
Создание собственного ServiceHost в IIS -> LINK