| // Copyright 2006 The Closure Library Authors. All Rights Reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS-IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| /** |
| * @fileoverview Definition of the LogRecord class. Please minimize |
| * dependencies this file has on other closure classes as any dependency it |
| * takes won't be able to use the logging infrastructure. |
| * |
| */ |
| |
| goog.provide('goog.debug.LogRecord'); |
| |
| |
| |
| /** |
| * LogRecord objects are used to pass logging requests between |
| * the logging framework and individual log Handlers. |
| * @constructor |
| * @param {goog.debug.Logger.Level} level One of the level identifiers. |
| * @param {string} msg The string message. |
| * @param {string} loggerName The name of the source logger. |
| * @param {number=} opt_time Time this log record was created if other than now. |
| * If 0, we use #goog.now. |
| * @param {number=} opt_sequenceNumber Sequence number of this log record. This |
| * should only be passed in when restoring a log record from persistence. |
| */ |
| goog.debug.LogRecord = function(level, msg, loggerName, |
| opt_time, opt_sequenceNumber) { |
| this.reset(level, msg, loggerName, opt_time, opt_sequenceNumber); |
| }; |
| |
| |
| /** |
| * Time the LogRecord was created. |
| * @type {number} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.time_; |
| |
| |
| /** |
| * Level of the LogRecord |
| * @type {goog.debug.Logger.Level} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.level_; |
| |
| |
| /** |
| * Message associated with the record |
| * @type {string} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.msg_; |
| |
| |
| /** |
| * Name of the logger that created the record. |
| * @type {string} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.loggerName_; |
| |
| |
| /** |
| * Sequence number for the LogRecord. Each record has a unique sequence number |
| * that is greater than all log records created before it. |
| * @type {number} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.sequenceNumber_ = 0; |
| |
| |
| /** |
| * Exception associated with the record |
| * @type {Object} |
| * @private |
| */ |
| goog.debug.LogRecord.prototype.exception_ = null; |
| |
| |
| /** |
| * @define {boolean} Whether to enable log sequence numbers. |
| */ |
| goog.define('goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS', true); |
| |
| |
| /** |
| * A sequence counter for assigning increasing sequence numbers to LogRecord |
| * objects. |
| * @type {number} |
| * @private |
| */ |
| goog.debug.LogRecord.nextSequenceNumber_ = 0; |
| |
| |
| /** |
| * Sets all fields of the log record. |
| * @param {goog.debug.Logger.Level} level One of the level identifiers. |
| * @param {string} msg The string message. |
| * @param {string} loggerName The name of the source logger. |
| * @param {number=} opt_time Time this log record was created if other than now. |
| * If 0, we use #goog.now. |
| * @param {number=} opt_sequenceNumber Sequence number of this log record. This |
| * should only be passed in when restoring a log record from persistence. |
| */ |
| goog.debug.LogRecord.prototype.reset = function(level, msg, loggerName, |
| opt_time, opt_sequenceNumber) { |
| if (goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS) { |
| this.sequenceNumber_ = typeof opt_sequenceNumber == 'number' ? |
| opt_sequenceNumber : goog.debug.LogRecord.nextSequenceNumber_++; |
| } |
| |
| this.time_ = opt_time || goog.now(); |
| this.level_ = level; |
| this.msg_ = msg; |
| this.loggerName_ = loggerName; |
| delete this.exception_; |
| }; |
| |
| |
| /** |
| * Get the source Logger's name. |
| * |
| * @return {string} source logger name (may be null). |
| */ |
| goog.debug.LogRecord.prototype.getLoggerName = function() { |
| return this.loggerName_; |
| }; |
| |
| |
| /** |
| * Get the exception that is part of the log record. |
| * |
| * @return {Object} the exception. |
| */ |
| goog.debug.LogRecord.prototype.getException = function() { |
| return this.exception_; |
| }; |
| |
| |
| /** |
| * Set the exception that is part of the log record. |
| * |
| * @param {Object} exception the exception. |
| */ |
| goog.debug.LogRecord.prototype.setException = function(exception) { |
| this.exception_ = exception; |
| }; |
| |
| |
| /** |
| * Get the source Logger's name. |
| * |
| * @param {string} loggerName source logger name (may be null). |
| */ |
| goog.debug.LogRecord.prototype.setLoggerName = function(loggerName) { |
| this.loggerName_ = loggerName; |
| }; |
| |
| |
| /** |
| * Get the logging message level, for example Level.SEVERE. |
| * @return {goog.debug.Logger.Level} the logging message level. |
| */ |
| goog.debug.LogRecord.prototype.getLevel = function() { |
| return this.level_; |
| }; |
| |
| |
| /** |
| * Set the logging message level, for example Level.SEVERE. |
| * @param {goog.debug.Logger.Level} level the logging message level. |
| */ |
| goog.debug.LogRecord.prototype.setLevel = function(level) { |
| this.level_ = level; |
| }; |
| |
| |
| /** |
| * Get the "raw" log message, before localization or formatting. |
| * |
| * @return {string} the raw message string. |
| */ |
| goog.debug.LogRecord.prototype.getMessage = function() { |
| return this.msg_; |
| }; |
| |
| |
| /** |
| * Set the "raw" log message, before localization or formatting. |
| * |
| * @param {string} msg the raw message string. |
| */ |
| goog.debug.LogRecord.prototype.setMessage = function(msg) { |
| this.msg_ = msg; |
| }; |
| |
| |
| /** |
| * Get event time in milliseconds since 1970. |
| * |
| * @return {number} event time in millis since 1970. |
| */ |
| goog.debug.LogRecord.prototype.getMillis = function() { |
| return this.time_; |
| }; |
| |
| |
| /** |
| * Set event time in milliseconds since 1970. |
| * |
| * @param {number} time event time in millis since 1970. |
| */ |
| goog.debug.LogRecord.prototype.setMillis = function(time) { |
| this.time_ = time; |
| }; |
| |
| |
| /** |
| * Get the sequence number. |
| * <p> |
| * Sequence numbers are normally assigned in the LogRecord |
| * constructor, which assigns unique sequence numbers to |
| * each new LogRecord in increasing order. |
| * @return {number} the sequence number. |
| */ |
| goog.debug.LogRecord.prototype.getSequenceNumber = function() { |
| return this.sequenceNumber_; |
| }; |
| |