1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.log4j.lf5;
19
20 import org.apache.log4j.spi.ThrowableInformation;
21
22 /**
23 * A <code>Log4JLogRecord</code> encapsulates
24 * the details of your log4j <code>LoggingEvent</code> in a format usable
25 * by the <code>LogBrokerMonitor</code>.
26 *
27 * @author Brent Sprecher
28 */
29
30 // Contributed by ThoughtWorks Inc.
31
32 public class Log4JLogRecord extends LogRecord {
33 //--------------------------------------------------------------------------
34 // Constants:
35 //--------------------------------------------------------------------------
36
37 //--------------------------------------------------------------------------
38 // Protected Variables:
39 //--------------------------------------------------------------------------
40
41 //--------------------------------------------------------------------------
42 // Private Variables:
43 //--------------------------------------------------------------------------
44
45 //--------------------------------------------------------------------------
46 // Constructors:
47 //--------------------------------------------------------------------------
48
49 /**
50 * Constructs an instance of a <code>Log4JLogRecord</code>.
51 */
52 public Log4JLogRecord() {
53 }
54
55 //--------------------------------------------------------------------------
56 // Public Methods:
57 //--------------------------------------------------------------------------
58 /**
59 * Determines which <code>Priority</code> levels will
60 * be displayed in colored font when the <code>LogMonitorAppender</code>
61 * renders this log message. By default, messages will be colored
62 * red if they are of <code>Priority</code> ERROR or FATAL.
63 *
64 * @return true if the log level is ERROR or FATAL.
65 */
66 public boolean isSevereLevel() {
67 boolean isSevere = false;
68
69 if (LogLevel.ERROR.equals(getLevel()) ||
70 LogLevel.FATAL.equals(getLevel())) {
71 isSevere = true;
72 }
73
74 return isSevere;
75 }
76
77 /**
78 * Set stack trace information associated with this Log4JLogRecord.
79 * When this method is called, the stack trace in a
80 * String-based format is made
81 * available via the getThrownStackTrace() method.
82 *
83 * @param throwableInfo An org.apache.log4j.spi.ThrowableInformation to
84 * associate with this Log4JLogRecord.
85 * @see #getThrownStackTrace()
86 */
87 public void setThrownStackTrace(ThrowableInformation throwableInfo) {
88 String[] stackTraceArray = throwableInfo.getThrowableStrRep();
89
90 StringBuffer stackTrace = new StringBuffer();
91 String nextLine;
92
93 for (int i = 0; i < stackTraceArray.length; i++) {
94 nextLine = stackTraceArray[i] + "\n";
95 stackTrace.append(nextLine);
96 }
97
98 _thrownStackTrace = stackTrace.toString();
99 }
100
101 //--------------------------------------------------------------------------
102 // Protected Methods:
103 //--------------------------------------------------------------------------
104
105 //--------------------------------------------------------------------------
106 // Private Methods:
107 //--------------------------------------------------------------------------
108
109 //--------------------------------------------------------------------------
110 // Nested Top-Level Classes or Interfaces:
111 //--------------------------------------------------------------------------
112
113 }
114
115
116