Skip to content

Instantly share code, notes, and snippets.

@karlwestin
Created August 27, 2012 12:17
Show Gist options
  • Star 14 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save karlwestin/3487951 to your computer and use it in GitHub Desktop.
Save karlwestin/3487951 to your computer and use it in GitHub Desktop.
Handlebars logging - tips for debugging templates!
/*
* Use this to turn on logging: (in your local extensions file)
*/
Handlebars.logger.log = function(level) {
if(level >= Handlebars.logger.level) {
console.log.apply(console, [].concat(["Handlebars: "], _.toArray(arguments)));
}
};
// DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3,
Handlebars.registerHelper('log', Handlebars.logger.log);
// Std level is 3, when set to 0, handlebars will log all compilation results
Handlebars.logger.level = 3;
/*
* Log can also be used in templates: '{{log 0 this "myString" accountName}}'
* Logs all the passed data when logger.level = 0
*/
@travcunn
Copy link

Thanks a bunch for this

@jarodsmk
Copy link

Been looking for something like this & happened to come across this gist, thanks for sharing. Still pretty relevant now

@SandeepVattapparambil
Copy link

Thank you so much

@MasterSergius
Copy link

Thanks from 2021, it works still )

@Fuseteam
Copy link

hmm i get "cannot read properties of undefined (reading 'log')" on Handlebars.logger.log

@Fuseteam
Copy link

looks like i was missing

Handlerbars.logger = {
    methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3: 'error' },

    // State enum
    DEBUG: 0,
    INFO: 1,
    WARN: 2,
    ERROR: 3,
};

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment