/* * Licensed to the Apache Software Foundation (ASF) under one or more contributor license * agreements. See the NOTICE file distributed with this work for additional information regarding * copyright ownership. The ASF licenses this file to You 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. */ package org.apache.persistence.logging; /** * A <code>LogRecord</code> encapsulate an entry in a log. */ public class LogRecord { /** Global counter of sequence numbers */ private static long nextSequenceNumber = 0; private Level level; private String loggerName; private String message; private long millis; private Object[] parameters; private long sequenceNumber; private String sourceClassName; private String sourceMethodName; private Throwable thrown; /** * Creates a new <code>LogRecord</code> with the given level and message. */ public LogRecord(Level level, String message) { this.level = level; this.message = message; this.sequenceNumber = nextSequenceNumber++; this.millis = System.currentTimeMillis(); } /** * Sets the level at which the message id logged */ public void setLevel(Level level) { this.level = level; } /** * Returns the level that the message should be logged at */ public Level getLevel() { return (this.level); } /** * Sets the name of the logger to which this log record belongs */ public void setLoggerName(String loggerName) { this.loggerName = loggerName; } /** * Returns the name of the logger to which this log record belongs */ public String getLoggerName() { return (this.loggerName); } /** * Sets the message for this log entry */ public void setMessage(String message) { this.message = message; } /** * Returns the message for this log entry */ public String getMessage() { return (this.message); } /** * Sets the event time */ public void setMillis(long millis) { this.millis = millis; } /** * Returns the event time in milliseconds since 1970 */ public long getMillis() { return (this.millis); } /** * Sets the parameters to this log entry */ public void setParameters(Object[] parameters) { this.parameters = parameters; } /** * Returns the parameters to this log entry */ public Object[] getParameters() { return (this.parameters); } /** * Sets the sequence number of this log entry */ public void setSequenceNumber(long sequenceNumber) { this.sequenceNumber = sequenceNumber; } /** * Returns the sequence number of this log entry */ public long getSequenceNumber() { return (this.sequenceNumber); } /** * Sets the name of the source class from which this log entry was issued */ public void setSourceClassName(String sourceClassName) { this.sourceClassName = sourceClassName; } /** * Returns the name of the source class from which this log entry was issued */ public String getSourceClassName() { return (this.sourceClassName); } /** * Sets the name of the source method from which this log entry was issued */ public void setSourceMethodName(String sourceMethodName) { this.sourceMethodName = sourceMethodName; } /** * Returns the name of the source method from which this log entry was issued */ public String getSourceMethodName() { return (this.sourceMethodName); } /** * Sets the throwable associated with this log entry */ public void setThrown(Throwable thrown) { this.thrown = thrown; } /** * Returns the throwable associated with this log entry */ public Throwable getThrown() { return (this.thrown); } /** * Returns a brief textual description of this <code>LogRecord</code> */ public String toString() { return (this.message + " at " + this.level); } }