If you are debugging large objects or lists, enclosing your debug contents with JSON.serializePretty(), eg:
system.debug(JSON.serializePretty(hugeAccountList));
will insert line breaks, which allow your debug to exceed the normal character limit. For long solid strings, however, you will need to inject linebreaks manually, which I do using this:
public static void multiLineDebug(Object debugContents){
String debugText = JSON.serialize(debugContents);
Pattern lengthLimit = Pattern.compile('(.{299})');
debugText = lengthLimit.matcher(debugText).replaceAll('$1\n');
system.debug(debugText);
}
If you prefer one-line solutions, you can do this:
system.debug(Pattern.compile('(.{299})').matcher(JSON.serialize( /* PUT YOUR DEBUG CONTENTS HERE */ )).replaceAll('$1\n'));
Though I suspect there are some issues with optimization there.