L'idée de base est ce que @Gates VP a décrit. J'utilise underscore.js pour parcourir les tableaux/objets.
function formatLog(obj){
var log = "";
_.each(obj, function(val, key){
if(typeof(val) === "object" || typeof(val) === "array"){
// if we have a new list
log += "<ul>";
log += formatLog(val);
log += "</ul>";
}
else{
// if we are at an endpoint
log += "<li>";
log += (key + ": " + val);
log += "</li>";
}
});
return log;
}
Si vous appelez formatLog()
sur l'exemple de données que vous lui avez donné, il renvoie
- Alias du serveur :GBIZ-WEB
- jeton d'URL :CFID=10989&CFTOKEN=f07fe950-53926E3B-F33A-093D-3FCEFB&jsessionid=84303d29a229d1
- ID de session :84197a667053f63433672873j377e7d379101
- UUID :53934LBB-DB8F-79T6-C03937JD84HB864A338
- Modèle :/home/vagrant/dev/websites/g-bis/code/webroot/page/home/home.cfm, ligne 3
- Contenu généré :
- Messagerie :
- Message :Balise inconnue :cfincflude.
- tagName :cfincflude
- RAW_TRACE :sur cfhome2ecfm1296628853.runPage(/home/vagrant/dev/websites/nig-bis/code/webroot/page/home/home.cfm:3)
- ID :CFINCLUDE
- MODÈLE :/home/vagrant/dev/websites/nig-bis/code/webroot/page/home/home.cfm
- LIGNE :3
- TYPE :CFML
- COLONNE :0
- RAW_TRACE :sur cfdisplay2ecfm1093821753.runPage(/home/vagrant/dev/websites/nig-bis/code/webroot/page/display.cfm:6)
- ID :CFINCLUDE
- MODÈLE :/home/vagrant/dev/websites/nig-bis/code/webroot/page/display.cfm
- LIGNE :6
- TYPE :CFML
- COLONNE :0
Comment le formater ensuite dépend de vous.