Built-in Loggers
Ice provides a file-based logger as well as Unix- and Windows-specific logger implementations.
File Logger
The file-based logger is enabled via the Ice.LogFile property. This logger is available for all supported languages and platforms.
.NET Logger
The default logger in Ice for C# writes its messages using the System.Diagnostics.Trace facility. By default, the communicator registers a ConsoleTraceListener that writes to stderr. You can disable the logging of messages via this trace listener by setting the property Ice.ConsoleListener to zero.
You can change the trace listener for your application via the application's configuration file. For example:
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener"
type="System.Diagnostics.EventLogTraceListener"
initializeData="TraceListenerLog" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
This configuration installs a trace listener that logs to the Windows event log using the source name TraceListenerLog.
The EventLogTraceListener creates a new event source if no match is found for the source name defined by initializeData, and creating a new event source requires that you run the application with administrative privileges. Alternatively, you can create the event source in advance using an administrative tool. For more information, search MSDN for "EventLog Component".
Syslog Logger
You can activate a logger that logs via the Unix syslog implementation by setting the Ice.UseSyslog property.