The Per-Process Logger
2 min read
2 min read
Ice allows you to install a per-process custom logger. This logger is used by all communicators that do not have their own specific logger established at the time they are created.
You can set a per-process logger by calling setProcessLogger, and you can retrieve the per-process logger by calling getProcessLogger:
namespace Ice{ LoggerPtr getProcessLogger(); void setProcessLogger(const LoggerPtr&);}namespace Ice;
public sealed class Util{ public static Logger getProcessLogger() { ... }
public static void setProcessLogger(Logger logger) { ... }}package com.zeroc.Ice;
public final class Util{ public static Logger getProcessLogger() { ... }
public static void setProcessLogger(Logger logger) { ... }}declare module "@zeroc/ice" { namespace Ice { function getProcessLogger(): Ice.Logger; function setProcessLogger(logger: Ice.Logger): void; }}def getProcessLogger() -> Ice.Logger: ...def setProcessLogger(logger: Ice.Logger) -> None: ...If you call getProcessLogger without having called setProcessLogger first, the Ice runtime installs a default per-process logger. Note that if you call setProcessLogger, only communicators created after that point will use this per-process logger; communicators created earlier use the logger that was in effect at the time they were created. (This also means that you can call setProcessLogger multiple times; communicators created after that point will use whatever logger was established by the last call to setProcessLogger.)