---
title: "Logger Facility"
url: https://docs.zeroc.com/ice/3.8/administration/logger-facility
docs_index: https://docs.zeroc.com/llms.txt
---

> For an index of every page, see [llms.txt](https://docs.zeroc.com/llms.txt).

# Logger Facility

Parts of this page are for some programming languages only, and name them. For one language's text alone, see [C++](https://docs.zeroc.com/ice/3.8/administration/logger-facility/cpp.md), [C#](https://docs.zeroc.com/ice/3.8/administration/logger-facility/csharp.md), [Java](https://docs.zeroc.com/ice/3.8/administration/logger-facility/java.md), [JavaScript](https://docs.zeroc.com/ice/3.8/administration/logger-facility/js.md), [MATLAB](https://docs.zeroc.com/ice/3.8/administration/logger-facility/matlab.md), [PHP](https://docs.zeroc.com/ice/3.8/administration/logger-facility/php.md), [Python](https://docs.zeroc.com/ice/3.8/administration/logger-facility/python.md), [Ruby](https://docs.zeroc.com/ice/3.8/administration/logger-facility/ruby.md), and [Swift](https://docs.zeroc.com/ice/3.8/administration/logger-facility/swift.md).

The Ice runtime logs trace messages, warnings, and errors through the Logger ([C++](https://code.zeroc.com/ice/3.8/api/cpp/classIce_1_1Logger.html), [C#](https://code.zeroc.com/ice/3.8/api/csharp/api/Ice.Logger.html), [Java](https://code.zeroc.com/ice/3.8/api/java/com.zeroc.ice/com/zeroc/Ice/Logger.html), [JavaScript](https://code.zeroc.com/ice/3.8/api/javascript/Ice/Logger.html), [Python](https://code.zeroc.com/ice/3.8/api/python/Ice.Logger.html), and [Swift](https://code.zeroc.com/ice/3.8/api/swift/documentation/ice/logger)) interface. The [Ice.Trace.\*](https://docs.zeroc.com/ice/3.8/property-reference/ice-trace-properties.md) and [Ice.Warn.\*](https://docs.zeroc.com/ice/3.8/property-reference/ice-warn-properties.md) properties select which trace messages and warnings it logs.

A logger provides one method for each kind of message:

- `print` logs a message as is, without a timestamp or prefix.
- `trace` logs a trace message in a category.
- `warning` logs a warning.
- `error` logs an error.

> **C++**
>
> The `Ice::Print`, `Ice::Trace`, `Ice::Warning`, and `Ice::Error` helper classes let you compose a message with the `<<` operator. The helper sends the message to the logger when you call `flush` or when the helper is destroyed:
>
> ```cpp
> Ice::Trace out{communicator->getLogger(), "Greeter"};
> out << "greeting " << name;
> ```

## See Also

- [Properties and Configuration](https://docs.zeroc.com/ice/3.8/runtime/properties-and-configuration.md)
- [Ice.Trace.\*](https://docs.zeroc.com/ice/3.8/property-reference/ice-trace-properties.md)
- [Ice.Warn.\*](https://docs.zeroc.com/ice/3.8/property-reference/ice-warn-properties.md)
- [Middleware](https://docs.zeroc.com/ice/3.8/runtime/dispatch/middleware.md)
