You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-cvs@jakarta.apache.org by ce...@locus.apache.org on 2000/12/27 00:20:36 UTC
cvs commit: jakarta-log4j/org/apache/log4j/spi TriggeringEventEvaluator.java
ceki 00/12/26 15:20:34
Modified: org/apache/log4j Category.java PatternLayout.java
org/apache/log4j/examples package.html sort1.lcf sort2.lcf
sort3.lcf sort4.lcf
org/apache/log4j/helpers LogLog.java Makefile
OptionConverter.java
org/apache/log4j/net SMTPAppender.java
org/apache/log4j/spi TriggeringEventEvaluator.java
Log:
Improved documentation plus other trivia.
Revision Changes Path
1.4 +8 -2 jakarta-log4j/org/apache/log4j/Category.java
Index: Category.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/Category.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Category.java 2000/12/21 16:22:01 1.3
+++ Category.java 2000/12/26 23:20:19 1.4
@@ -25,7 +25,6 @@
import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.NullEnumeration;
import org.apache.log4j.helpers.OptionConverter;
-import org.apache.log4j.helpers.PropertyConfig;
import org.apache.log4j.helpers.AppenderAttachableImpl;
import org.apache.log4j.or.RendererMap;
import org.apache.log4j.or.ObjectRenderer;
@@ -129,6 +128,8 @@
LogLog.debug("Could not read system property \""+
DEFAULT_INIT_OVERRIDE_KEY +"\".", e);
}
+ // if there is no default init override, them get the resource
+ // specified by the user or the default config file.
if(override == null || "false".equalsIgnoreCase(override)) {
String resource = System.getProperty(DEFAULT_CONFIGURATION_KEY,
DEFAULT_CONFIGURATION_FILE);
@@ -140,13 +141,18 @@
// attempt to get the resource in the most generic way:
url = Category.class.getResource(resource);
if(url == null) {
- // if that didn't work try again in a slightly different way
+ // if that doen't work, then try again in a slightly
+ // different way
ClassLoader loader = Category.class.getClassLoader();
if(loader != null) {
url = loader.getResource(resource);
}
}
}
+
+ // If we have a non-null url, then delegate the rest of the
+ // configuration to the OptionConverter.selectAndConfigure
+ // method.
if(url != null) {
OptionConverter.selectAndConfigure(url);
} else {
1.3 +2 -2 jakarta-log4j/org/apache/log4j/PatternLayout.java
Index: PatternLayout.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/PatternLayout.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PatternLayout.java 2000/12/14 21:07:19 1.2
+++ PatternLayout.java 2000/12/26 23:20:20 1.3
@@ -234,8 +234,8 @@
<td align=center><b>r</b></td>
- <td>Used to output the number of milliseconds elapsed since 1970
- until the creation of the logging event.</td>
+ <td>Used to output the number of milliseconds elapsed since the start
+ of the application until the creation of the logging event.</td>
</tr>
1.2 +2 -2 jakarta-log4j/org/apache/log4j/examples/package.html
Index: package.html
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/examples/package.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- package.html 2000/12/14 19:43:52 1.1
+++ package.html 2000/12/26 23:20:21 1.2
@@ -24,8 +24,8 @@
<a href="doc-files/SortAlgo.java">SortAlgo.java</a> to for a slightly
more advanced example.
-<p><li>See {@link org.log4j.examples.NumberCruncherServer} for a {@link
-org.log4j.NDC} based technique to distinguish the log output from
+<p><li>See {@link org.apache.log4j.examples.NumberCruncherServer} for a {@link
+org.apache.log4j.NDC} based technique to distinguish the log output from
requests from multiple clients.
</ul>
1.2 +5 -5 jakarta-log4j/org/apache/log4j/examples/sort1.lcf
Index: sort1.lcf
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/examples/sort1.lcf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sort1.lcf 2000/12/14 10:13:25 1.1
+++ sort1.lcf 2000/12/26 23:20:21 1.2
@@ -4,7 +4,7 @@
# that order.
# For the general syntax of propperty based caonfiguration files see
-# the documenation of org.log4j.PropertyConfigurator.
+# the documenation of org.apache.log4j.PropertyConfigurator.
# The root category uses the appender called A1. Since no priority is
# specified, the root category assumes the default priority for root
@@ -16,11 +16,11 @@
log4j.rootCategory=, A1
# A1 is set to be a FileAppender which outputs to System.out.
-log4j.appender.A1=org.log4j.FileAppender
+log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=System.out
# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.log4j.PatternLayout
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# The conversion pattern uses format specifiers. You might want to
# change the pattern an watch the output layout change.
@@ -28,5 +28,5 @@
# In this example, we are not really interested in INNER loop or SWAP
# messages. Try changing the priorities of these categories.
-# log4j.category.org.log4j.examples.SortAlgo.INNER=WARN
-# log4j.category.org.log4j.examples.SortAlgo.SWAP=WARN
+# log4j.category.org.apache.log4j.examples.SortAlgo.INNER=WARN
+# log4j.category.org.apache.log4j.examples.SortAlgo.SWAP=WARN
1.2 +7 -7 jakarta-log4j/org/apache/log4j/examples/sort2.lcf
Index: sort2.lcf
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/examples/sort2.lcf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sort2.lcf 2000/12/14 10:13:25 1.1
+++ sort2.lcf 2000/12/26 23:20:22 1.2
@@ -2,7 +2,7 @@
# and a file named 'test'.
# For the general syntax of propperty based caonfiguration files see
-# the documenation of org.log4j.PropertyConfigurator.
+# the documenation of org.apache.log4j.PropertyConfigurator.
# WARNING: Location information can be useful but is very costly in
# terms of computation.
@@ -14,11 +14,11 @@
log4j.rootCategory=, A1, A2
# A1 is set to be a FileAppender sending its output to System.out
-log4j.appender.A1=org.log4j.FileAppender
+log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=System.out
# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.log4j.PatternLayout
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# The conversion pattern consists of date in ISO8601 format, priority,
# thread name, category name truncated to its rightmost two components
@@ -29,14 +29,14 @@
log4j.appender.A1.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n
# Appender A2 writes to the file "test".
-log4j.appender.A2=org.log4j.FileAppender
+log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=test
# Truncate 'test' if it aleady exists.
log4j.appender.A2.Append=false
# Appender A2 uses the PatternLayout.
-log4j.appender.A2.layout=org.log4j.PatternLayout
+log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-5r %-5p [%t] %c{2} - %m%n
@@ -44,5 +44,5 @@
# messages. You might try to set INNER and SWAP to DEBUG for more
# verbose output.
-log4j.category.org.log4j.examples.SortAlgo.INNER=INFO
-log4j.category.org.log4j.examples.SortAlgo.SWAP=INFO
+log4j.category.org.apache.log4j.examples.SortAlgo.INNER=INFO
+log4j.category.org.apache.log4j.examples.SortAlgo.SWAP=INFO
1.2 +5 -5 jakarta-log4j/org/apache/log4j/examples/sort3.lcf
Index: sort3.lcf
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/examples/sort3.lcf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sort3.lcf 2000/12/14 10:13:25 1.1
+++ sort3.lcf 2000/12/26 23:20:22 1.2
@@ -5,12 +5,12 @@
# To test this example, you must start a log4j server with the command
#
#
-# java org.log4j.net.SocketServer 12345 path/to/a/configuration/file
+# java org.apache.log4j.net.SocketServer 12345 path/to/a/configuration/file
#
#
# For the general syntax of propperty based caonfiguration files see
-# the documenation of org.log4j.PropertyConfigurator.
+# the documenation of org.apache.log4j.PropertyConfigurator.
# The root category uses the appender called A1.
@@ -19,7 +19,7 @@
# A1 is set to be a SocketAppender sending its output to the server
running on the local host, port 12345.
-log4j.appender.A1=org.log4j.net.SocketAppender
+log4j.appender.A1=org.apache.log4j.net.SocketAppender
log4j.appender.A1.Port=12345
log4j.appender.A1.RemoteHost=localhost
@@ -27,5 +27,5 @@
# messages. You might try to set INNER and SWAP to DEBUG for more
# verbose output.
-log4j.category.org.log4j.examples.SortAlgo.INNER=INFO
-log4j.category.org.log4j.examples.SortAlgo.SWAP=INFO
+log4j.category.org.apache.log4j.examples.SortAlgo.INNER=INFO
+log4j.category.org.apache.log4j.examples.SortAlgo.SWAP=INFO
1.2 +6 -6 jakarta-log4j/org/apache/log4j/examples/sort4.lcf
Index: sort4.lcf
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/examples/sort4.lcf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sort4.lcf 2000/12/14 10:13:25 1.1
+++ sort4.lcf 2000/12/26 23:20:23 1.2
@@ -11,27 +11,27 @@
# influences log requests made to the root category. It has no
# influence on the appenders attached to root.
-log4j.appender.A1=org.log4j.FileAppender
+log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.File=System.out
log4j.appender.A1.Threshold=ERROR
-log4j.appender.A1.layout=org.log4j.PatternLayout
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p [%t] %c{2} (%M:%L) - %m%n
-# Set the priority of the category named "org.log4j.examples" to
+# Set the priority of the category named "org.apache.log4j.examples" to
# Priority.INFO, attach appender A2.
-log4j.category.org.log4j.examples=INFO, A2
+log4j.category.org.apache.log4j.examples=INFO, A2
# Appender A2 writes to the file "test" in user's home.
-log4j.appender.A2=org.log4j.FileAppender
+log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=${user.home}/test
# Truncate 'test' if it aleady exists.
log4j.appender.A2.Append=false
# Appender A2 uses the PatternLayout.
-log4j.appender.A2.layout=org.log4j.PatternLayout
+log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%5r %-5p [%t] %c{2} - %m%n
1.3 +3 -2 jakarta-log4j/org/apache/log4j/helpers/LogLog.java
Index: LogLog.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/helpers/LogLog.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LogLog.java 2000/12/14 21:07:45 1.2
+++ LogLog.java 2000/12/26 23:20:28 1.3
@@ -39,6 +39,7 @@
protected static boolean configDebugEnabled = false;
private static final String PREFIX = "log4j: ";
+ private static final String ERR_PREFIX = "log4j:ERROR ";
static {
try {
@@ -96,7 +97,7 @@
public
static
void error(String msg) {
- System.err.println(PREFIX+msg);
+ System.err.println(ERR_PREFIX+msg);
}
/**
@@ -107,7 +108,7 @@
public
static
void error(String msg, Throwable t) {
- System.err.println(PREFIX+msg);
+ System.err.println(ERR_PREFIX+msg);
if(t != null) {
t.printStackTrace();
}
1.4 +3 -1 jakarta-log4j/org/apache/log4j/helpers/Makefile
Index: Makefile
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/helpers/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Makefile 2000/12/19 13:59:19 1.3
+++ Makefile 2000/12/26 23:20:29 1.4
@@ -5,7 +5,9 @@
AppenderAttachableImpl.java\
TracerPrintWriter.java\
SyslogWriter.java \
- QuietWriter.java CountingQuietWriter.java SyslogQuietWriter.java\
+ QuietWriter.java \
+ CountingQuietWriter.java\
+ SyslogQuietWriter.java\
OptionConverter.java\
DateLayout.java\
RelativeTimeDateFormat.java\
1.4 +24 -3 jakarta-log4j/org/apache/log4j/helpers/OptionConverter.java
Index: OptionConverter.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/helpers/OptionConverter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- OptionConverter.java 2000/12/19 13:59:19 1.3
+++ OptionConverter.java 2000/12/26 23:20:29 1.4
@@ -284,6 +284,28 @@
}
}
+
+ /**
+ Configure log4j given a URL.
+
+ <p> The URL format is important.
+
+ <p>It's reference part is taken as the class name of the
+ configurator class. For example if you invoke your application
+ using the command line <pre> java
+ -Dlog4j.configuration=file:/temp/myconfig.xyz#com.myCompany.myConfigurator
+ </pre>
+
+ then the log4j will be configured by a new instance of
+ <code>com.myCompany.myConfigurator</code> using the file referenced
+ by <code>file:/temp/myconfig.xyz</code>.
+
+ <p>If the URL has no reference part, then the {@link
+ PropertyConfigurator} will parse the URL. However, if the URL
+ ends with a ".xml" extension then the {@link DOMConfigurator} will
+ be used to parse the URL.
+
+ @since 1.0 */
static
public
void selectAndConfigure(URL url) {
@@ -293,9 +315,8 @@
if(clazz != null) {
LogLog.debug("Preferred configurator class: " + clazz);
- configurator = (Configurator) instantiateByClassName(clazz,
- org.apache.log4j.spi.Configurator.class,
- null);
+ configurator = (Configurator) instantiateByClassName(clazz, Configurator.class,
+ null);
if(configurator == null) {
LogLog.error("Could not instantiate configurator ["+clazz+"].");
return;
1.7 +2 -2 jakarta-log4j/org/apache/log4j/net/SMTPAppender.java
Index: SMTPAppender.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/net/SMTPAppender.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SMTPAppender.java 2000/12/26 21:42:47 1.6
+++ SMTPAppender.java 2000/12/26 23:20:30 1.7
@@ -44,7 +44,7 @@
delivering useful application context.
@author Ceki Gülcü
- @since 0.9.2 */
+ @since 1.0 */
public class SMTPAppender extends AppenderSkeleton {
@@ -136,7 +136,7 @@
/**
The default constructor will instantiate the appedner with a
- {@link TriggerEventEvaluator} that will tirgger on events with
+ {@link TriggeringEventEvaluator} that will tirgger on events with
priority ERROR or higher.*/
public
SMTPAppender() {
1.2 +1 -1 jakarta-log4j/org/apache/log4j/spi/TriggeringEventEvaluator.java
Index: TriggeringEventEvaluator.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/org/apache/log4j/spi/TriggeringEventEvaluator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TriggeringEventEvaluator.java 2000/12/22 13:58:29 1.1
+++ TriggeringEventEvaluator.java 2000/12/26 23:20:32 1.2
@@ -12,7 +12,7 @@
Implementions of this interface allow certain appenders to decide
when to perform an appender specific action.
- <p>See {@link org.apache.log4j.nete.SMPTPAppender} for an example of
+ <p>See {@link org.apache.log4j.net.SMTPAppender} for an example of
an appender that depends on a
<code>TriggeringEventEvaluators</code>.