mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Logging: Add customizable logging backends and fmtlib based macros
* Change the logging backend to support multiple sinks through the Backend Interface * Add a new set of logging macros to use fmtlib instead. * Qt: Compile as GUI application on windows to make the console hidden by default. Add filter configuration and a button to open log location. * SDL: Migrate to the new logging macros
This commit is contained in:
		
							parent
							
								
									7d8b7d93fc
								
							
						
					
					
						commit
						51398e0301
					
				
					 17 changed files with 405 additions and 24 deletions
				
			
		|  | @ -231,6 +231,7 @@ void Config::ReadValues() { | |||
|     UISettings::values.confirm_before_closing = qt_config->value("confirmClose", true).toBool(); | ||||
|     UISettings::values.first_start = qt_config->value("firstStart", true).toBool(); | ||||
|     UISettings::values.callout_flags = qt_config->value("calloutFlags", 0).toUInt(); | ||||
|     UISettings::values.show_console = qt_config->value("showConsole", false).toBool(); | ||||
| 
 | ||||
|     qt_config->beginGroup("Multiplayer"); | ||||
|     UISettings::values.nickname = qt_config->value("nickname", "").toString(); | ||||
|  | @ -391,6 +392,7 @@ void Config::SaveValues() { | |||
|     qt_config->setValue("confirmClose", UISettings::values.confirm_before_closing); | ||||
|     qt_config->setValue("firstStart", UISettings::values.first_start); | ||||
|     qt_config->setValue("calloutFlags", UISettings::values.callout_flags); | ||||
|     qt_config->setValue("showConsole", UISettings::values.show_console); | ||||
| 
 | ||||
|     qt_config->beginGroup("Multiplayer"); | ||||
|     qt_config->setValue("nickname", UISettings::values.nickname); | ||||
|  |  | |||
|  | @ -2,13 +2,26 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include <QDesktopServices> | ||||
| #include <QUrl> | ||||
| #include "citra_qt/configuration/configure_debug.h" | ||||
| #include "citra_qt/debugger/console.h" | ||||
| #include "citra_qt/ui_settings.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/backend.h" | ||||
| #include "common/logging/filter.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "core/core.h" | ||||
| #include "core/settings.h" | ||||
| #include "ui_configure_debug.h" | ||||
| 
 | ||||
| ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureDebug) { | ||||
|     ui->setupUi(this); | ||||
|     this->setConfiguration(); | ||||
|     connect(ui->open_log_button, &QPushButton::pressed, []() { | ||||
|         QString path = QString::fromStdString(FileUtil::GetUserPath(D_LOGS_IDX)); | ||||
|         QDesktopServices::openUrl(QUrl::fromLocalFile(path)); | ||||
|     }); | ||||
| } | ||||
| 
 | ||||
| ConfigureDebug::~ConfigureDebug() {} | ||||
|  | @ -17,11 +30,20 @@ void ConfigureDebug::setConfiguration() { | |||
|     ui->toggle_gdbstub->setChecked(Settings::values.use_gdbstub); | ||||
|     ui->gdbport_spinbox->setEnabled(Settings::values.use_gdbstub); | ||||
|     ui->gdbport_spinbox->setValue(Settings::values.gdbstub_port); | ||||
|     ui->toggle_console->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | ||||
|     ui->toggle_console->setChecked(UISettings::values.show_console); | ||||
|     ui->log_filter_edit->setText(QString::fromStdString(Settings::values.log_filter)); | ||||
| } | ||||
| 
 | ||||
| void ConfigureDebug::applyConfiguration() { | ||||
|     Settings::values.use_gdbstub = ui->toggle_gdbstub->isChecked(); | ||||
|     Settings::values.gdbstub_port = ui->gdbport_spinbox->value(); | ||||
|     UISettings::values.show_console = ui->toggle_console->isChecked(); | ||||
|     Settings::values.log_filter = ui->log_filter_edit->text().toStdString(); | ||||
|     Debugger::ToggleConsole(); | ||||
|     Log::Filter filter; | ||||
|     filter.ParseFilterString(Settings::values.log_filter); | ||||
|     Log::SetGlobalFilter(filter); | ||||
|     Settings::Apply(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -72,6 +72,47 @@ | |||
|      </item> | ||||
|     </layout> | ||||
|    </item> | ||||
|    <item> | ||||
|     <widget class="QGroupBox" name="groupBox_2"> | ||||
|      <property name="title"> | ||||
|       <string>Logging</string> | ||||
|      </property> | ||||
|      <layout class="QVBoxLayout" name="verticalLayout"> | ||||
|       <item> | ||||
|        <layout class="QHBoxLayout" name="horizontalLayout"> | ||||
|         <item> | ||||
|          <widget class="QLabel" name="label"> | ||||
|           <property name="text"> | ||||
|            <string>Global Log Filter</string> | ||||
|           </property> | ||||
|          </widget> | ||||
|         </item> | ||||
|         <item> | ||||
|          <widget class="QLineEdit" name="log_filter_edit"/> | ||||
|         </item> | ||||
|        </layout> | ||||
|       </item> | ||||
|       <item> | ||||
|        <layout class="QHBoxLayout" name="horizontalLayout_2"> | ||||
|         <item> | ||||
|          <widget class="QCheckBox" name="toggle_console"> | ||||
|           <property name="text"> | ||||
|            <string>Show Log Console (Windows Only)</string> | ||||
|           </property> | ||||
|          </widget> | ||||
|         </item> | ||||
|         <item> | ||||
|          <widget class="QPushButton" name="open_log_button"> | ||||
|           <property name="text"> | ||||
|            <string>Open Log Location</string> | ||||
|           </property> | ||||
|          </widget> | ||||
|         </item> | ||||
|        </layout> | ||||
|       </item> | ||||
|      </layout> | ||||
|     </widget> | ||||
|    </item> | ||||
|    <item> | ||||
|     <spacer name="verticalSpacer"> | ||||
|      <property name="orientation"> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue