using System.Configuration; using System.Data; using System.IO; using System.Windows; using System.Windows.Media; using System.Windows.Threading; using log4net; using log4net.Config; using SparkClient.Model.Helper; using SparkClient.ViewModel.Configuration.SettingsPages; namespace SparkClient; /// /// Interaction logic for App.xaml /// public partial class App : Application { private static readonly ILog Logger = LogManager.GetLogger(typeof(App)); protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //加载日志配置文件 XmlConfigurator.Configure(new FileInfo("log4net.config")); Logger.Info("==== ==== ==== ==== ==== ==== ==== ===="); Logger.Info("App Client Start: App Initialize"); Logger.Info("Loaded Logs Config: log4net.config"); //运行是否需要归档 Log4NetHelper.ArchiveOldLogs(); Logger.Info("Check Logs need to be archived"); //打开数据库连接 //读取数据库多语言配置 DataBaseHelper.CreateConnection(); Logger.Info("Create Sqlite Connection..."); Logger.Info("Load Language Set"); string LanguageId = Settings.SelectValueById("LanguageId"); if (LanguageId.Length == 0) { LanguageId = "zh-cn"; } MultilingualHelper.setLanguage(LanguageId); Logger.Info($"Loaded Language is {LanguageId}"); string runMode = Settings.SelectValueById("RunMode"); Logger.Info($"Load RunMode Set {runMode}"); if (runMode.Length != 0 && int.TryParse(runMode, out int iRunMode)) { Common.RunMode = iRunMode; } else { Common.RunMode = 0; } Logger.Info($"Load RunMode is {Common.RunMode}"); Logger.Info("App Client Start: App Initialize Succeed !!!"); DispatcherUnhandledException += (s, ex) => { MessageBox.Show($"致命错误: {ex.Exception.Message}"); Logger.Error($"发生致命错误!!!{ex.Exception.Message}{ex.Exception.StackTrace}"); ex.Handled = true; }; Logger.Info("==== ==== ==== ==== ==== ==== ==== ===="); } }