001: package com.protomatter.syslog;
002:
003: /**
004: * {{{ The Protomatter Software License, Version 1.0
005: * derived from The Apache Software License, Version 1.1
006: *
007: * Copyright (c) 1998-2002 Nate Sammons. All rights reserved.
008: *
009: * Redistribution and use in source and binary forms, with or without
010: * modification, are permitted provided that the following conditions
011: * are met:
012: *
013: * 1. Redistributions of source code must retain the above copyright
014: * notice, this list of conditions and the following disclaimer.
015: *
016: * 2. Redistributions in binary form must reproduce the above copyright
017: * notice, this list of conditions and the following disclaimer in
018: * the documentation and/or other materials provided with the
019: * distribution.
020: *
021: * 3. The end-user documentation included with the redistribution,
022: * if any, must include the following acknowledgment:
023: * "This product includes software developed for the
024: * Protomatter Software Project
025: * (http://protomatter.sourceforge.net/)."
026: * Alternately, this acknowledgment may appear in the software itself,
027: * if and wherever such third-party acknowledgments normally appear.
028: *
029: * 4. The names "Protomatter" and "Protomatter Software Project" must
030: * not be used to endorse or promote products derived from this
031: * software without prior written permission. For written
032: * permission, please contact support@protomatter.com.
033: *
034: * 5. Products derived from this software may not be called "Protomatter",
035: * nor may "Protomatter" appear in their name, without prior written
036: * permission of the Protomatter Software Project
037: * (support@protomatter.com).
038: *
039: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
040: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
041: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
042: * DISCLAIMED. IN NO EVENT SHALL THE PROTOMATTER SOFTWARE PROJECT OR
043: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
044: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
045: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
046: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
047: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
048: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
049: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
050: * SUCH DAMAGE. }}}
051: */
052:
053: import java.util.*;
054: import java.net.*;
055:
056: import com.protomatter.util.StackTraceInfo;
057:
058: /**
059: * A utility class representing all the information needed
060: * to make a syslog call.
061: */
062: public class SyslogMessage {
063: /**
064: * The address of the host making the call.
065: */
066: public InetAddress host = null;
067:
068: /**
069: * The time the call was made.
070: */
071: public long time = 0L;
072:
073: /**
074: * The channel the message is for.
075: */
076: public String channel = null;
077:
078: /**
079: * The object making the syslog call.
080: */
081: public Object logger = null;
082:
083: /**
084: * The classname of the logger.
085: */
086: public String loggerClassname = null;
087:
088: /**
089: * The name of the method being called when
090: * the Syslog method call was made.
091: */
092: public String callingMethodName = null;
093:
094: /**
095: * The line number in the calling object's
096: * source file, if known.
097: */
098: public int callingMethodLineNumber = StackTraceInfo.LINE_NUMBER_UNKNOWN;
099:
100: /**
101: * The message.
102: */
103: public Object msg = null;
104:
105: /**
106: * The detailed message.
107: */
108: public Object detail = null;
109:
110: /**
111: * The log level.
112: */
113: public int level = 0;
114:
115: /**
116: * The thread that made the log request.
117: */
118: public Thread thread = null;
119:
120: /**
121: * The output of <tt>toString()</tt> on the thread that made the log request.
122: */
123: public String threadName = null;
124:
125: /**
126: * Default constructor.
127: */
128: public SyslogMessage() {
129: super ();
130: }
131:
132: /**
133: * A utility constructor.
134: */
135: public SyslogMessage(InetAddress host, long time, String channel,
136: Object logger, String loggerClassname, Object msg,
137: Object detail, int level, Thread thread, String threadName,
138: String methodName, int lineNumber) {
139: this();
140:
141: this.host = host;
142: this.time = time;
143: this.channel = channel;
144: this.logger = logger;
145: this.loggerClassname = loggerClassname;
146: this.msg = msg;
147: this.detail = detail;
148: this.level = level;
149: this.thread = thread;
150: this.threadName = threadName;
151: this.callingMethodName = methodName;
152: this.callingMethodLineNumber = lineNumber;
153: }
154: }
|