I set up a TraceListener using this XML:
<add name="RuntimeDeploymentConsoleListener"
type="System.Diagnostics.ConsoleTraceListener"
initializeData="C:\Users\Administrator\Desktop\TraceSourceLogs.log">
</add>
I then realised that the initializeData
attribute is the string passed to the constructor for the specified class.
However the constructor for ConsoleTraceListener
takes a Boolean
. So why does this not throw an Exception at runtime when it tries to convert that string to a Boolean?
Type coercion in web.config is loosy goosy. It probably is looking for either True or False, and not finding the value equal to it, it assumes the opposite.
Most likely it is using Convert.ToBoolean, which will attempt to convert many values without throwing exceptions:
Ref: https://msdn.microsoft.com/en-us/library/86hw82a3(v=vs.110).aspx