public void Dispose() { _configManager.RemovePropertyChangeListener(ConfigManager_UpdateWriteLog); _configManager.RemovePropertyChangeListener(ConfigManager_UpdateLogPath); _configManager.RemovePropertyChangeListener(ConfigManager_UpdateLogChannels); _configManager.RemovePropertyChangeListener(ConfigManager_UpdateLogFormat); _configManager = null; _chatManager.OnChatMessage -= ChatManager_ChatMessageEvent; _chatManager = null; _chatLogger?.Dispose(); _chatLogger = null; _container = null; }
public void Initialize(ApplicationStartupHandler handler, IDIContext container) { _container = container ?? throw new ArgumentNullException(nameof(container)); _chatLogger = new CustomChatLogger(); //_chatLogger.LogChannels = Enum.GetValues(typeof(ChatChannel)).Cast<ChatChannel>(); //will log everything that comes from the chat manager _configManager = _container.Resolve <IConfigManager>(); _configManager.AddPropertyChangeListener("behaviour.chatlog.active", true, true, ConfigManager_UpdateWriteLog); _configManager.AddPropertyChangeListener("behaviour.chatlog.path", true, true, ConfigManager_UpdateLogPath); _configManager.AddPropertyChangeListener("behaviour.chatlog.format", true, true, ConfigManager_UpdateLogFormat); _configManager.AddPropertyChangeListener("behaviour.channel.log", true, true, ConfigManager_UpdateLogChannels); _chatManager = _container.Resolve <IChatManager>(); _chatManager.OnChatMessage += ChatManager_ChatMessageEvent; }