Diagnostics Configuration

The DiagnosticsConfigurationSection controls the logging and error reporting infrastructure.
<section xsi:type="DiagnosticsConfigurationSection">
<sources>
<add name="SanteDB.Core.DataSet" filter="Warning"/>
</sources>
<writers>
<add name="console" initializationData="" filter="Informational">
<writer>SanteDB.Core.Diagnostics.ConsoleTraceWriter, SanteDB.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null</writer>
</add>
</writers>
</section>

Source Filters

By default, all log requests are sent to the logging infrastructure, you can, however, control/filter the events from each source by adding it to the <sources> element. For example, to have the FHIR logs at level Error and the HL7v2 logs at Warning:
<sources>
<add name="SanteDB.Messaging.FHIR" filter="Error" />
<add name="SanteDB.Messaging.HL7" filter="Warning" />
</sources>
When configured in this manner, only errors reported by the FHIR source will be logged to the application logs.

Log Writers

Writers are registered/configured in the <writers> element and are given a name, initialization data (like file name, port number, etc.) and a filter.
<writers>
<add name="main" initializationData="santedb.log" filter="Warning">
<writer>SanteDB.Core.Diagnostics.RolloverTextWriterTraceWriter, SanteDB.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null</writer>
</add>
The writers which are available in SanteDB iCDR and dCDR are:
Writer
Logs To
SanteDB.Core.Diagnostics.ConsoleTraceWriter
Console
SanteDB.Core.Diagnostics.RolloverTraceWriter
Specified file
SanteDB.Core.Diagnostics.SystemDiagnosticsTraceWriter
.NET Trace Writer infrastructure
SanteDB.Core.Diagnostics.EventLogTraceWriter
Windows Event Log
SanteDB.DisconnectedClient.Android.Core.Diagnostics.AndroidLogTraceWriter
Android device developer log