System.debug(JSON.Serialize(o)) Not longer shows full string





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







9















For the longest time I have been using System.debug(JSON.Serialize(o)) to output objects to the debug log for troubleshooting purposes. This has worked up until my most recent project. Even existing code seems to be having this behavior.



I've tested API versions 41-45 with no luck. The actual line of code I'm using is:



system.debug(json.serialize(accountsToInsert)); // This is a map


I have also tried:



system.debug(json.serialize(accountsToInsert.get(Key)));


AND



Account test = accountsToInsert.get(Key);
system.debug(json.serialize(test));


The code is called from a method defined in a VF page action attribute.



Is this just a thing that we have to live with now? Is there another way to get a full look into the state of an object at run time?










share|improve this question


















  • 1





    Why not use Apex Replay Debugger?

    – Jayant Das
    Mar 27 at 15:19






  • 4





    As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

    – kurunve
    Mar 27 at 15:19






  • 4





    And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

    – kurunve
    Mar 27 at 15:23






  • 1





    @kurunve I think that's the best answer, if you want to post an answer Ill accept it.

    – gNerb
    Mar 27 at 15:25






  • 1





    This came up recent in Developer Console suddenly truncating System.Debug output

    – Daniel Ballinger
    Mar 27 at 23:53


















9















For the longest time I have been using System.debug(JSON.Serialize(o)) to output objects to the debug log for troubleshooting purposes. This has worked up until my most recent project. Even existing code seems to be having this behavior.



I've tested API versions 41-45 with no luck. The actual line of code I'm using is:



system.debug(json.serialize(accountsToInsert)); // This is a map


I have also tried:



system.debug(json.serialize(accountsToInsert.get(Key)));


AND



Account test = accountsToInsert.get(Key);
system.debug(json.serialize(test));


The code is called from a method defined in a VF page action attribute.



Is this just a thing that we have to live with now? Is there another way to get a full look into the state of an object at run time?










share|improve this question


















  • 1





    Why not use Apex Replay Debugger?

    – Jayant Das
    Mar 27 at 15:19






  • 4





    As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

    – kurunve
    Mar 27 at 15:19






  • 4





    And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

    – kurunve
    Mar 27 at 15:23






  • 1





    @kurunve I think that's the best answer, if you want to post an answer Ill accept it.

    – gNerb
    Mar 27 at 15:25






  • 1





    This came up recent in Developer Console suddenly truncating System.Debug output

    – Daniel Ballinger
    Mar 27 at 23:53














9












9








9


1






For the longest time I have been using System.debug(JSON.Serialize(o)) to output objects to the debug log for troubleshooting purposes. This has worked up until my most recent project. Even existing code seems to be having this behavior.



I've tested API versions 41-45 with no luck. The actual line of code I'm using is:



system.debug(json.serialize(accountsToInsert)); // This is a map


I have also tried:



system.debug(json.serialize(accountsToInsert.get(Key)));


AND



Account test = accountsToInsert.get(Key);
system.debug(json.serialize(test));


The code is called from a method defined in a VF page action attribute.



Is this just a thing that we have to live with now? Is there another way to get a full look into the state of an object at run time?










share|improve this question














For the longest time I have been using System.debug(JSON.Serialize(o)) to output objects to the debug log for troubleshooting purposes. This has worked up until my most recent project. Even existing code seems to be having this behavior.



I've tested API versions 41-45 with no luck. The actual line of code I'm using is:



system.debug(json.serialize(accountsToInsert)); // This is a map


I have also tried:



system.debug(json.serialize(accountsToInsert.get(Key)));


AND



Account test = accountsToInsert.get(Key);
system.debug(json.serialize(test));


The code is called from a method defined in a VF page action attribute.



Is this just a thing that we have to live with now? Is there another way to get a full look into the state of an object at run time?







debug-logs






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 27 at 15:14









gNerbgNerb

6,086834




6,086834








  • 1





    Why not use Apex Replay Debugger?

    – Jayant Das
    Mar 27 at 15:19






  • 4





    As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

    – kurunve
    Mar 27 at 15:19






  • 4





    And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

    – kurunve
    Mar 27 at 15:23






  • 1





    @kurunve I think that's the best answer, if you want to post an answer Ill accept it.

    – gNerb
    Mar 27 at 15:25






  • 1





    This came up recent in Developer Console suddenly truncating System.Debug output

    – Daniel Ballinger
    Mar 27 at 23:53














  • 1





    Why not use Apex Replay Debugger?

    – Jayant Das
    Mar 27 at 15:19






  • 4





    As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

    – kurunve
    Mar 27 at 15:19






  • 4





    And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

    – kurunve
    Mar 27 at 15:23






  • 1





    @kurunve I think that's the best answer, if you want to post an answer Ill accept it.

    – gNerb
    Mar 27 at 15:25






  • 1





    This came up recent in Developer Console suddenly truncating System.Debug output

    – Daniel Ballinger
    Mar 27 at 23:53








1




1





Why not use Apex Replay Debugger?

– Jayant Das
Mar 27 at 15:19





Why not use Apex Replay Debugger?

– Jayant Das
Mar 27 at 15:19




4




4





As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

– kurunve
Mar 27 at 15:19





As far as I have seen somewhere here, SF started to cut length of string in system.debug in Spring'19

– kurunve
Mar 27 at 15:19




4




4





And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

– kurunve
Mar 27 at 15:23





And here is a proof @gNerb -- releasenotes.docs.salesforce.com/en-us/spring19/release-notes/…

– kurunve
Mar 27 at 15:23




1




1





@kurunve I think that's the best answer, if you want to post an answer Ill accept it.

– gNerb
Mar 27 at 15:25





@kurunve I think that's the best answer, if you want to post an answer Ill accept it.

– gNerb
Mar 27 at 15:25




1




1





This came up recent in Developer Console suddenly truncating System.Debug output

– Daniel Ballinger
Mar 27 at 23:53





This came up recent in Developer Console suddenly truncating System.Debug output

– Daniel Ballinger
Mar 27 at 23:53










2 Answers
2






active

oldest

votes


















13














Unfortunately, since Spring'19 in order to improve performance, Salesforce changed a way how long strings are shown in the Developers Console.



Now strings are now truncated at 512 characters in the Developer Console’s Log Inspector



In order to retrieve full log, it is needed to use Open Raw Log in Developers Console menu.



Release notes with more information – https://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_forcecom_developer_console.htm



Some Suggestions:




  • The Apex Replay Debugger is a powerful debugging tool - Note Seems to have issues with very large debug logs.


  • Checkpoints can be used to inspect objects at given points in code using the developer console.






share|improve this answer





















  • 2





    For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

    – gNerb
    Mar 27 at 15:43













  • thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

    – kurunve
    Mar 27 at 15:53



















10














I always recommend using Checkpoints; this gives you an easy way to inspect the entire heap (memory). You can learn more about this in the trailhead Inspect Objects at Checkpoints. Simply open the Developer Console, open the class you want to inspect (e.g. your controller), and click on the left-side gutter for the point you'd like to set the checkpoint. The checkpoints will appear in the Checkpoints tab in the Developer Console when you perform the action.






share|improve this answer



















  • 1





    This is great information, but I think that Karune has the actual answer. +1 though.

    – gNerb
    Mar 27 at 15:24












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255527%2fsystem-debugjson-serializeo-not-longer-shows-full-string%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









13














Unfortunately, since Spring'19 in order to improve performance, Salesforce changed a way how long strings are shown in the Developers Console.



Now strings are now truncated at 512 characters in the Developer Console’s Log Inspector



In order to retrieve full log, it is needed to use Open Raw Log in Developers Console menu.



Release notes with more information – https://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_forcecom_developer_console.htm



Some Suggestions:




  • The Apex Replay Debugger is a powerful debugging tool - Note Seems to have issues with very large debug logs.


  • Checkpoints can be used to inspect objects at given points in code using the developer console.






share|improve this answer





















  • 2





    For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

    – gNerb
    Mar 27 at 15:43













  • thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

    – kurunve
    Mar 27 at 15:53
















13














Unfortunately, since Spring'19 in order to improve performance, Salesforce changed a way how long strings are shown in the Developers Console.



Now strings are now truncated at 512 characters in the Developer Console’s Log Inspector



In order to retrieve full log, it is needed to use Open Raw Log in Developers Console menu.



Release notes with more information – https://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_forcecom_developer_console.htm



Some Suggestions:




  • The Apex Replay Debugger is a powerful debugging tool - Note Seems to have issues with very large debug logs.


  • Checkpoints can be used to inspect objects at given points in code using the developer console.






share|improve this answer





















  • 2





    For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

    – gNerb
    Mar 27 at 15:43













  • thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

    – kurunve
    Mar 27 at 15:53














13












13








13







Unfortunately, since Spring'19 in order to improve performance, Salesforce changed a way how long strings are shown in the Developers Console.



Now strings are now truncated at 512 characters in the Developer Console’s Log Inspector



In order to retrieve full log, it is needed to use Open Raw Log in Developers Console menu.



Release notes with more information – https://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_forcecom_developer_console.htm



Some Suggestions:




  • The Apex Replay Debugger is a powerful debugging tool - Note Seems to have issues with very large debug logs.


  • Checkpoints can be used to inspect objects at given points in code using the developer console.






share|improve this answer















Unfortunately, since Spring'19 in order to improve performance, Salesforce changed a way how long strings are shown in the Developers Console.



Now strings are now truncated at 512 characters in the Developer Console’s Log Inspector



In order to retrieve full log, it is needed to use Open Raw Log in Developers Console menu.



Release notes with more information – https://releasenotes.docs.salesforce.com/en-us/spring19/release-notes/rn_forcecom_developer_console.htm



Some Suggestions:




  • The Apex Replay Debugger is a powerful debugging tool - Note Seems to have issues with very large debug logs.


  • Checkpoints can be used to inspect objects at given points in code using the developer console.







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 27 at 16:03









gNerb

6,086834




6,086834










answered Mar 27 at 15:28









kurunvekurunve

2,60621324




2,60621324








  • 2





    For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

    – gNerb
    Mar 27 at 15:43













  • thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

    – kurunve
    Mar 27 at 15:53














  • 2





    For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

    – gNerb
    Mar 27 at 15:43













  • thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

    – kurunve
    Mar 27 at 15:53








2




2





For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

– gNerb
Mar 27 at 15:43







For completeness, I combined the other answers into a single post. I'm heading down the path of the replay debugger as my solution.

– gNerb
Mar 27 at 15:43















thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

– kurunve
Mar 27 at 15:53





thanks @gNerb. Personally sometimes I use apex snippet to create a Document with given body if it is a size of 2-3mb

– kurunve
Mar 27 at 15:53













10














I always recommend using Checkpoints; this gives you an easy way to inspect the entire heap (memory). You can learn more about this in the trailhead Inspect Objects at Checkpoints. Simply open the Developer Console, open the class you want to inspect (e.g. your controller), and click on the left-side gutter for the point you'd like to set the checkpoint. The checkpoints will appear in the Checkpoints tab in the Developer Console when you perform the action.






share|improve this answer



















  • 1





    This is great information, but I think that Karune has the actual answer. +1 though.

    – gNerb
    Mar 27 at 15:24
















10














I always recommend using Checkpoints; this gives you an easy way to inspect the entire heap (memory). You can learn more about this in the trailhead Inspect Objects at Checkpoints. Simply open the Developer Console, open the class you want to inspect (e.g. your controller), and click on the left-side gutter for the point you'd like to set the checkpoint. The checkpoints will appear in the Checkpoints tab in the Developer Console when you perform the action.






share|improve this answer



















  • 1





    This is great information, but I think that Karune has the actual answer. +1 though.

    – gNerb
    Mar 27 at 15:24














10












10








10







I always recommend using Checkpoints; this gives you an easy way to inspect the entire heap (memory). You can learn more about this in the trailhead Inspect Objects at Checkpoints. Simply open the Developer Console, open the class you want to inspect (e.g. your controller), and click on the left-side gutter for the point you'd like to set the checkpoint. The checkpoints will appear in the Checkpoints tab in the Developer Console when you perform the action.






share|improve this answer













I always recommend using Checkpoints; this gives you an easy way to inspect the entire heap (memory). You can learn more about this in the trailhead Inspect Objects at Checkpoints. Simply open the Developer Console, open the class you want to inspect (e.g. your controller), and click on the left-side gutter for the point you'd like to set the checkpoint. The checkpoints will appear in the Checkpoints tab in the Developer Console when you perform the action.







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 27 at 15:21









sfdcfoxsfdcfox

264k12210457




264k12210457








  • 1





    This is great information, but I think that Karune has the actual answer. +1 though.

    – gNerb
    Mar 27 at 15:24














  • 1





    This is great information, but I think that Karune has the actual answer. +1 though.

    – gNerb
    Mar 27 at 15:24








1




1





This is great information, but I think that Karune has the actual answer. +1 though.

– gNerb
Mar 27 at 15:24





This is great information, but I think that Karune has the actual answer. +1 though.

– gNerb
Mar 27 at 15:24


















draft saved

draft discarded




















































Thanks for contributing an answer to Salesforce Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255527%2fsystem-debugjson-serializeo-not-longer-shows-full-string%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

Origin of the phrase “under your belt”?