API Docs for: 1.0.0
Show:

File: src/gallery-log-filter/js/log-filter.js

"use strict";

/**
 * @module gallery-log-filter
 */

/**********************************************************************
 * <p>Appends filters to the log output.</p>
 * 
 * @main gallery-log-filter
 * @class LogFilter
 */

Y.LogFilter =
{
	/**
	 * Adds a filter that filters out messages other than the given set of
	 * levels.
	 * 
	 * @method addLevelFilter
	 * @static
	 * @param levels {Array} List of log levels to pass through, e.g, `['error','warn']`.
	 */
	addLevelFilter: function(levels)
	{
		var orig_logFn = Y.config.logFn;
		Y.config.logFn = function(msg, cat, src)
		{
			if (Y.Array.indexOf(levels, cat) >= 0)
			{
				orig_logFn.apply(this, arguments);
			}
		};
	},

	/**
	 * Adds a function to filter log messages.
	 * 
	 * @method addFilter
	 * @static
	 * @param filter {Function} Function to apply.  Called with `msg, cat, src`.  Returns `true` to pass the message.
	 */
	addFilter: function(filter)
	{
		var orig_logFn = Y.config.logFn;
		Y.config.logFn = function(msg, cat, src)
		{
			if (filter.call(this, msg, cat, src))
			{
				orig_logFn.apply(this, arguments);
			}
		};
	}
};