<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
<!-- These are the "sinks": classes we write to save logging data somewhere
<listeners>
<add name="FlatFile" type="..." listenerDataType="..." fileName="flatFile.log" formatter="Text Formatter" rollInterval="Day" />
<add name="LedgerItem" type="..." listenerDataType="..." rollInterval="Month" formatter="Ledger Formatter" />
<add name="Message" type="..." listenerDataType="..." formatter="Message Formatter" />
...
</listeners>
<!-- These allow a sink to data-drive the "body" of the log -->
<formatters>
<add type="..." template="{templated data goes here, including method and parameters}" name="Text Formatter" />
<add type="..." template="{templated data goes here, including method and parameters}" name="Message Formatter" />
<add type="..." template="{templated data goes here, including method and parameters}" name="SkipTrace Message" />
</formatters>
<!-- This allows turning all, or partial, logging on or off -->
<logFilters>
<add type="..." enabled="true" name="Logging Enabled Filter" />
</logFilters>
<-- This is where we map what audited logs are actually written to; if there is no listener defined, the log can be ignored -->
<categorySources>
<add switchValue="All" name="BillingLog">
<listeners>
<add name="LedgerItem" />
</listeners>
</add>
<add switchValue="All" name="AgentLog">
<listeners>
<add name="Message" />
</listeners>
</add>
</categorySources>
</loggingConfiguration>