internal LoggerAdminI(Ice.Properties props, LoggerAdminLoggerI logger) { _maxLogCount = props.getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepLogs", 100); _maxTraceCount = props.getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepTraces", 100); _traceLevel = props.getPropertyAsInt("Ice.Trace.Admin.Logger"); _logger = logger; }
internal LoggerAdminI(Ice.Communicator communicator, LoggerAdminLoggerI logger) { _maxLogCount = communicator.GetPropertyAsInt("Ice.Admin.Logger.KeepLogs") ?? 100; _maxTraceCount = communicator.GetPropertyAsInt("Ice.Admin.Logger.KeepTraces") ?? 100; _traceLevel = communicator.GetPropertyAsInt("Ice.Trace.Admin.Logger") ?? 0; _logger = logger; }
internal LoggerAdminLoggerI(Ice.Properties props, Ice.Logger localLogger) { LoggerAdminLoggerI wrapper = localLogger as LoggerAdminLoggerI; if (wrapper != null) { _localLogger = wrapper.getLocalLogger(); } else { _localLogger = localLogger; } _loggerAdmin = new LoggerAdminI(props, this); }
public void finishSetup(ref string[] args, Ice.Communicator communicator) { // // Load plug-ins. // Debug.Assert(_serverThreadPool == null); Ice.PluginManagerI pluginManagerImpl = (Ice.PluginManagerI)_pluginManager; pluginManagerImpl.loadPlugins(ref args); // // Add WS and WSS endpoint factories if TCP/SSL factories are installed. // EndpointFactory tcpFactory = _endpointFactoryManager.get(Ice.TCPEndpointType.value); if(tcpFactory != null) { ProtocolInstance instance = new ProtocolInstance(this, Ice.WSEndpointType.value, "ws", false); _endpointFactoryManager.add(new WSEndpointFactory(instance, tcpFactory.clone(instance, null))); } EndpointFactory sslFactory = _endpointFactoryManager.get(Ice.SSLEndpointType.value); if(sslFactory != null) { ProtocolInstance instance = new ProtocolInstance(this, Ice.WSSEndpointType.value, "wss", true); _endpointFactoryManager.add(new WSEndpointFactory(instance, sslFactory.clone(instance, null))); } // // Create Admin facets, if enabled. // // Note that any logger-dependent admin facet must be created after we load all plugins, // since one of these plugins can be a Logger plugin that sets a new logger during loading // if(_initData.properties.getProperty("Ice.Admin.Enabled").Length == 0) { _adminEnabled = _initData.properties.getProperty("Ice.Admin.Endpoints").Length > 0; } else { _adminEnabled = _initData.properties.getPropertyAsInt("Ice.Admin.Enabled") > 0; } string[] facetFilter = _initData.properties.getPropertyAsList("Ice.Admin.Facets"); if(facetFilter.Length > 0) { foreach(string s in facetFilter) { _adminFacetFilter.Add(s); } } if(_adminEnabled) { // // Process facet // string processFacetName = "Process"; if(_adminFacetFilter.Count == 0 || _adminFacetFilter.Contains(processFacetName)) { _adminFacets.Add(processFacetName, new ProcessI(communicator)); } // // Logger facet // string loggerFacetName = "Logger"; if(_adminFacetFilter.Count == 0 || _adminFacetFilter.Contains(loggerFacetName)) { LoggerAdminLogger logger = new LoggerAdminLoggerI(_initData.properties, _initData.logger); setLogger(logger); _adminFacets.Add(loggerFacetName, logger.getFacet()); } // // Properties facet // string propertiesFacetName = "Properties"; PropertiesAdminI propsAdmin = null; if(_adminFacetFilter.Count == 0 || _adminFacetFilter.Contains(propertiesFacetName)) { propsAdmin= new PropertiesAdminI(this); _adminFacets.Add(propertiesFacetName, propsAdmin); } // // Metrics facet // string metricsFacetName = "Metrics"; if(_adminFacetFilter.Count == 0 || _adminFacetFilter.Contains(metricsFacetName)) { CommunicatorObserverI observer = new CommunicatorObserverI(_initData); _initData.observer = observer; _adminFacets.Add(metricsFacetName, observer.getFacet()); // // Make sure the admin plugin receives property updates. // if(propsAdmin != null) { propsAdmin.addUpdateCallback(observer.getFacet()); } } } // // Set observer updater // if(_initData.observer != null) { _initData.observer.setObserverUpdater(new ObserverUpdaterI(this)); } // // Create threads. // try { if(initializationData().properties.getProperty("Ice.ThreadPriority").Length > 0) { ThreadPriority priority = IceInternal.Util.stringToThreadPriority( initializationData().properties.getProperty("Ice.ThreadPriority")); _timer = new Timer(this, priority); } else { _timer = new Timer(this); } } catch(System.Exception ex) { string s = "cannot create thread for timer:\n" + ex; _initData.logger.error(s); throw; } try { _endpointHostResolver = new EndpointHostResolver(this); } catch(System.Exception ex) { string s = "cannot create thread for endpoint host resolver:\n" + ex; _initData.logger.error(s); throw; } _clientThreadPool = new ThreadPool(this, "Ice.ThreadPool.Client", 0); // // The default router/locator may have been set during the loading of plugins. // Therefore we make sure it is not already set before checking the property. // if(_referenceFactory.getDefaultRouter() == null) { Ice.RouterPrx r = Ice.RouterPrxHelper.uncheckedCast( _proxyFactory.propertyToProxy("Ice.Default.Router")); if(r != null) { _referenceFactory = _referenceFactory.setDefaultRouter(r); } } if(_referenceFactory.getDefaultLocator() == null) { Ice.LocatorPrx l = Ice.LocatorPrxHelper.uncheckedCast( _proxyFactory.propertyToProxy("Ice.Default.Locator")); if(l != null) { _referenceFactory = _referenceFactory.setDefaultLocator(l); } } // // Show process id if requested (but only once). // lock(this) { if(!_printProcessIdDone && _initData.properties.getPropertyAsInt("Ice.PrintProcessId") > 0) { using(Process p = Process.GetCurrentProcess()) { System.Console.WriteLine(p.Id); } _printProcessIdDone = true; } } // // Server thread pool initialization is lazy in serverThreadPool(). // // // An application can set Ice.InitPlugins=0 if it wants to postpone // initialization until after it has interacted directly with the // plug-ins. // if(_initData.properties.getPropertyAsIntWithDefault("Ice.InitPlugins", 1) > 0) { pluginManagerImpl.initializePlugins(); } // // This must be done last as this call creates the Ice.Admin object adapter // and eventually registers a process proxy with the Ice locator (allowing // remote clients to invoke on Ice.Admin facets as soon as it's registered). // if(_initData.properties.getPropertyAsIntWithDefault("Ice.Admin.DelayCreation", 0) <= 0) { getAdmin(); } }