diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/Logging.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/Logging.kt
index a38c6a8da..bc8c615ab 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/Logging.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/Logging.kt
@@ -52,3 +52,7 @@ class Logging(private var viewModel: MainViewModel) {
         File(logPath).mkdirs()
     }
 }
+
+internal enum class LogLevel {
+    Debug, Stub, Info, Warning, Error, Guest, AccessLog, Notice, Trace
+}
diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt
index 1c851484d..7df186d62 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/MainActivity.kt
@@ -20,6 +20,7 @@ import androidx.core.view.WindowInsetsControllerCompat
 import com.anggrayudi.storage.SimpleStorageHelper
 import org.ryujinx.android.ui.theme.RyujinxAndroidTheme
 import org.ryujinx.android.viewmodels.MainViewModel
+import org.ryujinx.android.viewmodels.QuickSettings
 import org.ryujinx.android.views.MainView
 import kotlin.math.abs
 
@@ -64,7 +65,17 @@ class MainActivity : BaseActivity() {
             return
 
         val appPath: String = AppPath
-        val success = RyujinxNative.instance.initialize(NativeHelpers.instance.storeStringJava(appPath), false)
+
+        var quickSettings = QuickSettings(this)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Debug.ordinal, quickSettings.enableDebugLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Info.ordinal, quickSettings.enableInfoLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Stub.ordinal, quickSettings.enableStubLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Warning.ordinal, quickSettings.enableWarningLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Error.ordinal, quickSettings.enableErrorLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.AccessLog.ordinal, quickSettings.enableAccessLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Guest.ordinal, quickSettings.enableGuestLogs)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Trace.ordinal, quickSettings.enableTraceLogs)
+        val success = RyujinxNative.instance.initialize(NativeHelpers.instance.storeStringJava(appPath))
         _isInit = success
     }
     override fun onCreate(savedInstanceState: Bundle?) {
@@ -78,7 +89,6 @@ class MainActivity : BaseActivity() {
 
         AppPath = this.getExternalFilesDir(null)!!.absolutePath
 
-
         initialize()
 
         window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/RyujinxNative.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/RyujinxNative.kt
index 989226de6..3ec7d70b2 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/RyujinxNative.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/RyujinxNative.kt
@@ -4,7 +4,7 @@ import org.ryujinx.android.viewmodels.GameInfo
 
 @Suppress("KotlinJniMissingFunction")
 class RyujinxNative {
-    external fun initialize(appPath: Long, enableDebugLogs : Boolean): Boolean
+    external fun initialize(appPath: Long): Boolean
 
     companion object {
         val instance: RyujinxNative = RyujinxNative()
@@ -64,4 +64,5 @@ class RyujinxNative {
     external fun userDeleteUser(userId: String)
     external fun userOpenUser(userId: Long)
     external fun userCloseUser(userId: String)
+    external fun loggingSetEnabled(logLevel: Int, enabled: Boolean)
 }
diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/QuickSettings.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/QuickSettings.kt
index e37377c09..49ece0b3c 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/QuickSettings.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/QuickSettings.kt
@@ -17,6 +17,16 @@ class QuickSettings(val activity: Activity) {
     var resScale : Float
     var isGrid : Boolean
 
+    // Logs
+    var enableDebugLogs: Boolean
+    var enableStubLogs: Boolean
+    var enableInfoLogs: Boolean
+    var enableWarningLogs: Boolean
+    var enableErrorLogs: Boolean
+    var enableGuestLogs: Boolean
+    var enableAccessLogs: Boolean
+    var enableTraceLogs: Boolean
+
     private var sharedPref: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(activity)
 
     init {
@@ -31,5 +41,41 @@ class QuickSettings(val activity: Activity) {
         resScale = sharedPref.getFloat("resScale", 1f)
         useVirtualController = sharedPref.getBoolean("useVirtualController", true)
         isGrid = sharedPref.getBoolean("isGrid", true)
+
+        enableDebugLogs = sharedPref.getBoolean("enableDebugLogs", false)
+        enableStubLogs = sharedPref.getBoolean("enableStubLogs", false)
+        enableInfoLogs = sharedPref.getBoolean("enableInfoLogs", true)
+        enableWarningLogs = sharedPref.getBoolean("enableWarningLogs", true)
+        enableErrorLogs = sharedPref.getBoolean("enableErrorLogs", true)
+        enableGuestLogs = sharedPref.getBoolean("enableGuestLogs", true)
+        enableAccessLogs = sharedPref.getBoolean("enableAccessLogs", false)
+        enableTraceLogs = sharedPref.getBoolean("enableStubLogs", false)
+    }
+
+    fun save(){
+        val editor = sharedPref.edit()
+
+        editor.putBoolean("isHostMapped", isHostMapped)
+        editor.putBoolean("useNce", useNce)
+        editor.putBoolean("enableVsync", enableVsync)
+        editor.putBoolean("enableDocked", enableDocked)
+        editor.putBoolean("enablePtc", enablePtc)
+        editor.putBoolean("ignoreMissingServices", ignoreMissingServices)
+        editor.putBoolean("enableShaderCache", enableShaderCache)
+        editor.putBoolean("enableTextureRecompression", enableTextureRecompression)
+        editor.putFloat("resScale", resScale)
+        editor.putBoolean("useVirtualController", useVirtualController)
+        editor.putBoolean("isGrid", isGrid)
+
+        editor.putBoolean("enableDebugLogs", enableDebugLogs)
+        editor.putBoolean("enableStubLogs", enableStubLogs)
+        editor.putBoolean("enableInfoLogs", enableInfoLogs)
+        editor.putBoolean("enableWarningLogs", enableWarningLogs)
+        editor.putBoolean("enableErrorLogs", enableErrorLogs)
+        editor.putBoolean("enableGuestLogs", enableGuestLogs)
+        editor.putBoolean("enableAccessLogs", enableAccessLogs)
+        editor.putBoolean("enableTraceLogs", enableTraceLogs)
+
+        editor.apply()
     }
 }
diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/SettingsViewModel.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/SettingsViewModel.kt
index d940b2c53..e295df5e8 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/SettingsViewModel.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/viewmodels/SettingsViewModel.kt
@@ -7,7 +7,9 @@ import androidx.navigation.NavHostController
 import androidx.preference.PreferenceManager
 import com.anggrayudi.storage.file.FileFullPath
 import com.anggrayudi.storage.file.getAbsolutePath
+import org.ryujinx.android.LogLevel
 import org.ryujinx.android.MainActivity
+import org.ryujinx.android.RyujinxNative
 
 class SettingsViewModel(var navController: NavHostController, val activity: MainActivity) {
     private var previousCallback: ((requestCode: Int, folder: DocumentFile) -> Unit)?
@@ -42,6 +44,14 @@ class SettingsViewModel(var navController: NavHostController, val activity: Main
         resScale: MutableState<Float>,
         useVirtualController: MutableState<Boolean>,
         isGrid: MutableState<Boolean>,
+        enableDebugLogs: MutableState<Boolean>,
+        enableStubLogs: MutableState<Boolean>,
+        enableInfoLogs: MutableState<Boolean>,
+        enableWarningLogs: MutableState<Boolean>,
+        enableErrorLogs: MutableState<Boolean>,
+        enableGuestLogs: MutableState<Boolean>,
+        enableAccessLogs: MutableState<Boolean>,
+        enableTraceLogs: MutableState<Boolean>
     )
     {
 
@@ -56,6 +66,15 @@ class SettingsViewModel(var navController: NavHostController, val activity: Main
         resScale.value = sharedPref.getFloat("resScale", 1f)
         useVirtualController.value = sharedPref.getBoolean("useVirtualController", true)
         isGrid.value = sharedPref.getBoolean("isGrid", true)
+
+        enableDebugLogs.value = sharedPref.getBoolean("enableDebugLogs", false)
+        enableStubLogs.value = sharedPref.getBoolean("enableStubLogs", false)
+        enableInfoLogs.value = sharedPref.getBoolean("enableInfoLogs", true)
+        enableWarningLogs.value = sharedPref.getBoolean("enableWarningLogs", true)
+        enableErrorLogs.value = sharedPref.getBoolean("enableErrorLogs", true)
+        enableGuestLogs.value = sharedPref.getBoolean("enableGuestLogs", true)
+        enableAccessLogs.value = sharedPref.getBoolean("enableAccessLogs", false)
+        enableTraceLogs.value = sharedPref.getBoolean("enableStubLogs", false)
     }
 
     fun save(
@@ -69,7 +88,15 @@ class SettingsViewModel(var navController: NavHostController, val activity: Main
         enableTextureRecompression: MutableState<Boolean>,
         resScale: MutableState<Float>,
         useVirtualController: MutableState<Boolean>,
-        isGrid: MutableState<Boolean>
+        isGrid: MutableState<Boolean>,
+        enableDebugLogs: MutableState<Boolean>,
+        enableStubLogs: MutableState<Boolean>,
+        enableInfoLogs: MutableState<Boolean>,
+        enableWarningLogs: MutableState<Boolean>,
+        enableErrorLogs: MutableState<Boolean>,
+        enableGuestLogs: MutableState<Boolean>,
+        enableAccessLogs: MutableState<Boolean>,
+        enableTraceLogs: MutableState<Boolean>
     ){
         val editor = sharedPref.edit()
 
@@ -85,8 +112,27 @@ class SettingsViewModel(var navController: NavHostController, val activity: Main
         editor.putBoolean("useVirtualController", useVirtualController.value)
         editor.putBoolean("isGrid", isGrid.value)
 
+
+        editor.putBoolean("enableDebugLogs", enableDebugLogs.value)
+        editor.putBoolean("enableStubLogs", enableStubLogs.value)
+        editor.putBoolean("enableInfoLogs", enableInfoLogs.value)
+        editor.putBoolean("enableWarningLogs", enableWarningLogs.value)
+        editor.putBoolean("enableErrorLogs", enableErrorLogs.value)
+        editor.putBoolean("enableGuestLogs", enableGuestLogs.value)
+        editor.putBoolean("enableAccessLogs", enableAccessLogs.value)
+        editor.putBoolean("enableTraceLogs", enableTraceLogs.value)
+
         editor.apply()
         activity.storageHelper!!.onFolderSelected = previousCallback
+
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Debug.ordinal, enableDebugLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Info.ordinal, enableInfoLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Stub.ordinal, enableStubLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Warning.ordinal, enableWarningLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Error.ordinal, enableErrorLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.AccessLog.ordinal, enableAccessLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Guest.ordinal, enableGuestLogs.value)
+        RyujinxNative.instance.loggingSetEnabled(LogLevel.Trace.ordinal, enableTraceLogs.value)
     }
 
 
diff --git a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/views/SettingViews.kt b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/views/SettingViews.kt
index bb68d75a2..fda6570a1 100644
--- a/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/views/SettingViews.kt
+++ b/src/RyujinxAndroid/app/src/main/java/org/ryujinx/android/views/SettingViews.kt
@@ -103,9 +103,16 @@ class SettingViews {
             val useVirtualController = remember {
                 mutableStateOf(true)
             }
-            val isGrid = remember {
-                mutableStateOf(true)
-            }
+            val isGrid = remember { mutableStateOf(true) }
+
+            val enableDebugLogs = remember { mutableStateOf(true) }
+            val enableStubLogs = remember { mutableStateOf(true) }
+            val enableInfoLogs = remember { mutableStateOf(true) }
+            val enableWarningLogs = remember { mutableStateOf(true) }
+            val enableErrorLogs = remember { mutableStateOf(true) }
+            val enableGuestLogs = remember { mutableStateOf(true) }
+            val enableAccessLogs = remember { mutableStateOf(true) }
+            val enableTraceLogs = remember { mutableStateOf(true) }
 
             if (!loaded.value) {
                 settingsViewModel.initializeState(
@@ -116,7 +123,15 @@ class SettingViews {
                     enableTextureRecompression,
                     resScale,
                     useVirtualController,
-                    isGrid
+                    isGrid,
+                    enableDebugLogs,
+                    enableStubLogs,
+                    enableInfoLogs,
+                    enableWarningLogs,
+                    enableErrorLogs,
+                    enableGuestLogs,
+                    enableAccessLogs,
+                    enableTraceLogs
                 )
                 loaded.value = true
             }
@@ -139,7 +154,15 @@ class SettingViews {
                                     enableTextureRecompression,
                                     resScale,
                                     useVirtualController,
-                                    isGrid
+                                    isGrid,
+                                    enableDebugLogs,
+                                    enableStubLogs,
+                                    enableInfoLogs,
+                                    enableWarningLogs,
+                                    enableErrorLogs,
+                                    enableGuestLogs,
+                                    enableAccessLogs,
+                                    enableTraceLogs
                                 )
                                 settingsViewModel.navController.popBackStack()
                             }) {
@@ -637,17 +660,139 @@ class SettingViews {
                         }
                     }
                     ExpandableView(onCardArrowClick = { }, title = "Log") {
-                        Row(
-                            modifier = Modifier
-                                .fillMaxWidth()
-                                .padding(8.dp),
-                            horizontalArrangement = Arrangement.SpaceBetween,
-                            verticalAlignment = Alignment.CenterVertically
-                        ) {
-                            Button(onClick = {
-                                mainViewModel.logging.requestExport()
-                            }) {
-                                Text(text = "Send Logs")
+                        Column(modifier = Modifier.fillMaxWidth()) {
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Debug Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableDebugLogs.value, onCheckedChange = {
+                                    enableDebugLogs.value = !enableDebugLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Stub Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableStubLogs.value, onCheckedChange = {
+                                    enableStubLogs.value = !enableStubLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Info Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableInfoLogs.value, onCheckedChange = {
+                                    enableInfoLogs.value = !enableInfoLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Warning Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableWarningLogs.value, onCheckedChange = {
+                                    enableWarningLogs.value = !enableWarningLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Error Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableErrorLogs.value, onCheckedChange = {
+                                    enableErrorLogs.value = !enableErrorLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Guest Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableGuestLogs.value, onCheckedChange = {
+                                    enableGuestLogs.value = !enableGuestLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Access Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableAccessLogs.value, onCheckedChange = {
+                                    enableAccessLogs.value = !enableAccessLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Text(
+                                    text = "Enable Trace Logs",
+                                    modifier = Modifier.align(Alignment.CenterVertically)
+                                )
+                                Switch(checked = enableTraceLogs.value, onCheckedChange = {
+                                    enableTraceLogs.value = !enableTraceLogs.value
+                                })
+                            }
+                            Row(
+                                modifier = Modifier
+                                    .fillMaxWidth()
+                                    .padding(8.dp),
+                                horizontalArrangement = Arrangement.SpaceBetween,
+                                verticalAlignment = Alignment.CenterVertically
+                            ) {
+                                Button(onClick = {
+                                    mainViewModel.logging.requestExport()
+                                }) {
+                                    Text(text = "Send Logs")
+                                }
                             }
                         }
                     }
@@ -661,7 +806,15 @@ class SettingViews {
                         enableTextureRecompression,
                         resScale,
                         useVirtualController,
-                        isGrid
+                        isGrid,
+                        enableDebugLogs,
+                        enableStubLogs,
+                        enableInfoLogs,
+                        enableWarningLogs,
+                        enableErrorLogs,
+                        enableGuestLogs,
+                        enableAccessLogs,
+                        enableTraceLogs
                     )
                     settingsViewModel.navController.popBackStack()
                 }