Built-in Loggers

Ice provides a file-based logger as well as Unix- and Windows-specific logger implementations.

The file-based logger is enabled via the Ice.LogFile property. This logger is available for all supported languages and platforms.

You can activate a logger that logs via the Unix syslog implementation by setting the Ice.UseSyslog property.

On Linux, you can activate a logger that logs to the systemd journal by setting the Ice.UseSystemdJournal property.

On Windows, subclasses of Ice::Service use the Windows application event log by default. The event log implementation is available for C++ applications.

On maOS, you can activate a logger that logs using OSLog by setting Ice.UseOSLog property.

The default logger in Ice for C# writes its messages with the System.Diagnostics.Trace class. By default, Ice adds its own console listener, which writes to stderr. You can disable the logging of messages via this trace listener by setting the property Ice.ConsoleListener to zero.

You can add your own trace listener programmatically. For example:

C#
// Create a trace listener for the event log.
EventLogTraceListener myTraceListener =
new EventLogTraceListener("myEventLogSource");
// Add the event log trace listener to the collection.
Trace.Listeners.Add(myTraceListener);

You can activate a logger that logs via the Unix syslog implementation by setting the Ice.UseSyslog property.