public void OnApplicationStart() { Logger.log?.Debug("OnApplicationStart"); //SongFeedReaders.Util.Logger = new BeatSyncFeedReaderLogger(); // Check if CustomUI is installed. try { customUIExists = IPA.Loader.PluginManager.AllPlugins.FirstOrDefault(c => c.Metadata.Name == "Custom UI") != null; // If Custom UI is installed, create the UI if (customUIExists) { CustomUI.Utilities.BSEvents.menuSceneLoadedFresh += MenuLoadedFresh; } // Called to set the WebClient SongFeedReaders uses var userAgent = $"BeatSync/{Assembly.GetExecutingAssembly().GetName().Version.ToString()}"; SongFeedReaders.WebUtils.Initialize(new WebUtilities.WebWrapper.WebClientWrapper()); SongFeedReaders.WebUtils.WebClient.SetUserAgent(userAgent); // TODO: Need to make this better, use a LoggerFactory, have the readers only auto-get a logger if null? var readerLogger = new Logging.BeatSyncFeedReaderLogger(SongFeedReaders.Logging.LoggingController.DefaultLogController); SongFeedReaders.BeastSaberReader.Logger = readerLogger; SongFeedReaders.BeatSaverReader.Logger = readerLogger; SongFeedReaders.ScoreSaberReader.Logger = readerLogger; SongFeedReaders.Utilities.Logger = readerLogger; SongFeedReaders.WebUtils.Logger = readerLogger; //SongFeedReaders.DataflowAlternative.TransformBlock.Logger = readerLogger; } catch (Exception ex) { Logger.log?.Error(ex); } }
public void Init(IPALogger logger)//, [Config.Prefer("json")] Config conf) { log = logger; log?.Debug("Logger initialized."); //config = conf.Generated<BeatSyncConfig>(); var readerLogger = new Logging.BeatSyncFeedReaderLogger(SongFeedReaders.Logging.LoggingController.DefaultLogController); SongFeedReaders.Logging.LoggingController.DefaultLogger = readerLogger; BeatSyncLib.Logger.log = new BeatSyncLogger(logger); ConfigManager = new ConfigManager(); ConfigInitialized = ConfigManager.InitializeConfig(); if (ConfigInitialized) { modConfig = ConfigManager.Config; config = ConfigManager.Config.BeatSyncConfig; SettingsUI = new UI.SettingsUI(modConfig); } }