Reduce debug output from CoreData?

Try adding these as launch arguments see if it helps

-com.apple.CoreData.SQLDebug 0
-com.apple.CoreData.Logging.stderr 0               
-com.apple.CoreData.ConcurrencyDebug 0
-com.apple.CoreData.MigrationDebug 0

EDIT1: I found this in Apple docs: Choose Product > Scheme > Edit Scheme. Select an action such as Run, and select the Arguments tab. Pass the com.apple.CoreData.CloudKitDebug user default setting with a debug level value as an argument to the application. Like this

 -com.apple.CoreData.CloudKitDebug 0

Add this last one as a launch argument and you should achieve what you wanted.

link to the AppleDocs Check the section named Debug Errors in Core Data with CloudKit


Follow these steps in Xcode:

  1. Products
  2. Scheme
  3. Edit scheme...
  4. Chose left side your way of building the app (I guess Run)

I guess you will see -com.apple.CoreData.SQLDebug in 'Arguments passed on launch'. If you see that, turn it off. If you don't see it, add:

-com.apple.CoreData.SQLDebug 1

Values and descriptions:

  1. SQL Statements, Row count and Execution time
  2. Bind values and the truncated version of NSSQLiteStatement that does not list the full list of Managed objects.
  3. List of Managed Objects returned for the query. These objects have not been faulted into memory and therefore only the Managed Object ID is outputted.
  4. SQLite Explain Query Plan

From http://blog.raymccrae.scot/2017/12/core-data-sqldebug-log-levels.html


I had the same problem.
This will disable CoreData debug output:
in 'Arguments passed on launch':
-com.apple.CoreData.Logging.stderr 0
Worked for me.