Version 3.18.1

APIs

  • Begin typing in the search box above to see results.
Show:

File: yui/js/yui-log.js

 /**
 * Provides console log capability and exposes a custom event for
 * console implementations. This module is a `core` YUI module,
 * <a href="../classes/YUI.html#method_log">it's documentation is located under the YUI class</a>.
 *
 * @module yui
 * @submodule yui-log
 */
 
 var INSTANCE = Y,
 LOGEVENT = 'yui:log',
 UNDEFINED = 'undefined',
 LEVELS = { debug: 1,
 info: 2,
 warn: 4,
 error: 8 };
 
 /**
 * If the 'debug' config is true, a 'yui:log' event will be
 * dispatched, which the Console widget and anything else
 * can consume. If the 'useBrowserConsole' config is true, it will
 * write to the browser console if available. YUI-specific log
 * messages will only be present in the -debug versions of the
 * JS files. The build system is supposed to remove log statements
 * from the raw and minified versions of the files.
 *
 * @method log
 * @for YUI
 * @param {String} msg The message to log.
 * @param {String} cat The log category for the message. Default
 * categories are "info", "warn", "error", "debug".
 * Custom categories can be used as well. (opt).
 * @param {String} src The source of the the message (opt).
 * @param {boolean} silent If true, the log event won't fire.
 * @return {YUI} YUI instance.
 */
 INSTANCE.log = function(msg, cat, src, silent) {
 var bail, excl, incl, m, f, minlevel,
 Y = INSTANCE,
 c = Y.config,
 publisher = (Y.fire) ? Y : YUI.Env.globalEvents;
 // suppress log message if the config is off or the event stack
 // or the event call stack contains a consumer of the yui:log event
 if (c.debug) {
 // apply source filters
 src = src || "";
 if (typeof src !== "undefined") {
 excl = c.logExclude;
 incl = c.logInclude;
 if (incl && !(src in incl)) {
 bail = 1;
 } else if (incl && (src in incl)) {
 bail = !incl[src];
 } else if (excl && (src in excl)) {
 bail = excl[src];
 }
 
 // Set a default category of info if the category was not defined.
 if ((typeof cat === 'undefined')) {
 cat = 'info';
 }
 
 // Determine the current minlevel as defined in configuration
 Y.config.logLevel = Y.config.logLevel || 'debug';
 minlevel = LEVELS[Y.config.logLevel.toLowerCase()];
 
 if (cat in LEVELS && LEVELS[cat] < minlevel) {
 // Skip this message if the we don't meet the defined minlevel
 bail = 1;
 }
 }
 if (!bail) {
 if (c.useBrowserConsole) {
 m = (src) ? src + ': ' + msg : msg;
 if (Y.Lang.isFunction(c.logFn)) {
 c.logFn.call(Y, msg, cat, src);
 } else if (typeof console !== UNDEFINED && console.log) {
 f = (cat && console[cat] && (cat in LEVELS)) ? cat : 'log';
 console[f](m);
 } else if (typeof opera !== UNDEFINED) {
 opera.postError(m);
 }
 }
 
 if (publisher && !silent) {
 
 if (publisher === Y && (!publisher.getEvent(LOGEVENT))) {
 publisher.publish(LOGEVENT, {
 broadcast: 2
 });
 }
 
 publisher.fire(LOGEVENT, {
 msg: msg,
 cat: cat,
 src: src
 });
 }
 }
 }
 
 return Y;
 };
 
 /**
 * Write a system message. This message will be preserved in the
 * minified and raw versions of the YUI files, unlike log statements.
 * @method message
 * @for YUI
 * @param {String} msg The message to log.
 * @param {String} cat The log category for the message. Default
 * categories are "info", "warn", "error", "debug".
 * Custom categories can be used as well. (opt).
 * @param {String} src The source of the the message (opt).
 * @param {boolean} silent If true, the log event won't fire.
 * @return {YUI} YUI instance.
 */
 INSTANCE.message = function() {
 return INSTANCE.log.apply(INSTANCE, arguments);
 };
 
 

AltStyle によって変換されたページ (->オリジナル) /