// sobjects are difficult to read with all the "field=null" values, so // return a string without them. public string stringWithoutNullFields(string aString) { return aString.replaceAll('\\w+=null',''); } public string toString(SObject anSobject) { return stringWithoutNullFields(anSobject + ''); } public string toString(list<sobject> aList) { return stringWithoutNullFields(aList + ''); } public string toString(map<string, sobject> aMap) { return stringWithoutNullFields(aMap + ''); } public string toString(map<id, sobject> aMap) { return stringWithoutNullFields(aMap + ''); }
Whether you're using system.debug(someObject); or logging using a home-rolled log (I do), it'd difficult to read the output of some sobjects if too many of the fields look something like "a_field__c=null, another_field__c=null, yet_another_field__c=null..."
Get rid of all that nonsense using aString.replaceAll('\\w+=null','');.