Commit Graph
15 Commits
Author SHA1 Message Date
Costin Manolache b2038dcc68 Make sure we are initialized for all constructors. Change the name of the
default appender.

I still have some problems with log4j's JMX if I construct the logger
via API ( i.e. no log4j.properties ) - but that shouldn't affect too
many people, so I'll leave it.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138888 13f79535-47bb-0310-9956-ffa450edef68
2002-06-07 00:22:54 +00:00
Costin Manolache 5183b765a3 Build commons-logging-api.jar, with no logger adapters. This will allow the
logger and the adapters to sit in the WEB-INF ( and multiple loggers to be used ),
while having commons-logging in the root classloader.

( this in turns allow various components that are loaded with the root loader
to log ).


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138887 13f79535-47bb-0310-9956-ffa450edef68
2002-06-06 22:11:28 +00:00
Costin Manolache d7208355d3 Few fixes:
- if no log4j.properties is found, we'll construct a 'sane' config ( to be
consistent with the other loggers ). The appender must have a name ( otherwise
the JMX stuff in log4j will complain )

- fix the class name for the log4j factory


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138886 13f79535-47bb-0310-9956-ffa450edef68
2002-06-06 22:09:09 +00:00
Costin Manolache 97e35d1253 Added a class-path directive, that avoids the need to set CLASSPATH manually.
( we should probably add the other loggers - only what is found is used,
it doesn't hurt anyone ).

Even if most containers will automatically add whatever is in lib, if you
use it in command line things are more difficult.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138885 13f79535-47bb-0310-9956-ffa450edef68
2002-05-09 22:01:25 +00:00
Costin Manolache b75a58b4af Few small (?) fixes:
- for JDK1.4, include the correct class/method. This uses a hack to
extract the information from the stack trace - probably slow, but
it's better to get the correct information.

- for log4j, check if log4j is initialized ( by checking if any appenders
are present ). Set a default configuration if it is not initialized.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138884 13f79535-47bb-0310-9956-ffa450edef68
2002-05-06 21:32:37 +00:00
Costin Manolache 27347eec03 Patch from Richard Sitze <rsitze at us.ibm.com>.
> I've updated the Log4JCategoryLog.java to use the Log4J method Category.log
> () which allows the fully qualified class name (FQCN) of  the user's logger
> class to be passed through into Log4J.  In this case the logger class FQCN
> will be "org.apache.commons.logging.impl.Log4JCategoryLog".  This allows
> Log4J to correctly identify the location in the code from which the logger
> is being called, if required.  Without this Log4J reports that the calling
> location is ALWAYS Log4JCategoryLog.java:132.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138878 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:32:47 +00:00
Costin Manolache 078804d827 Deal with the posiblity that a commons-logging is loaded in
a loader, and the thread loader is set to point to a different
loader that doesn't include logging ( or to a wrong value ).

This happens when logging is used in certain container components,
where the thread loader will point to an app that may not
have/use logging.

XXX What's the right order ? From a 'feature' point of view,
it's better to try the thread loader first, so apps can
override the default. From a security point of view,
we should try the Class.forName() first, i.e. whatever
is loaded in the parent loader.

The current fix leaves the original order ( with thread loader
used if available ).


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138874 13f79535-47bb-0310-9956-ffa450edef68
2002-02-26 19:00:27 +00:00
Costin Manolache accadb23ed Log to stderr.
A bit of change in reading the properties - I spent some time trying to
understand what was the original intention, it was quite tricky. If the
property is not set, the old code would have defaulted everything to
true.

Added a bit of code to display only the last component of the log name,
logs without log name are hard to trace back to the source, and the full
name can make things hard to read ( at least that's my experience so
far ).

Of course, feel free to change back, I'm just trying to get things
a bit easier to use 'out of box', config can override anything.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138868 13f79535-47bb-0310-9956-ffa450edef68
2002-02-15 05:46:36 +00:00
Costin Manolache f7489ad021 Add a mechanism to use a proxy. The default impl will first look for
a logger package, and preferably use a specialized factory, which
can provide better integration with the real logger.

The introspection is ok, but it's limited and complex.

Also, switch to SimpleLog by default - which is almost the same as
using System.err.println(). If common logging requires the user to set
properties and configurations to get the same behavior as System.err(),
why would anyone use it ?


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138867 13f79535-47bb-0310-9956-ffa450edef68
2002-02-15 05:42:35 +00:00
Costin Manolache a42b6b9bd6 Add the second constructor to be used with Log4jFactory.
Make it final ( so the indirection can be optimized by jits )


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138866 13f79535-47bb-0310-9956-ffa450edef68
2002-02-15 03:54:19 +00:00
Costin Manolache 377a98ff3b Added a log4j specific factory. It's cleaner and goes directly
to the logger impl, without introspection. The factory can be extended
to take advantage of other log4j features ( it calls getInstance(Class)
direclty for example ) to integrate better.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138865 13f79535-47bb-0310-9956-ffa450edef68
2002-02-15 03:53:39 +00:00
Costin Manolache 7bf2ea493d Include the classpath in the available check.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138863 13f79535-47bb-0310-9956-ffa450edef68
2002-02-14 22:00:34 +00:00
Costin Manolache 6f50fad399 Add the standard ( ? ) JDK1.3 'service provider' mechanism. It's usually better
to use the standards ( if it makes sense ), and that's something that
works well enough ( crimson, xerces, xalan, saxon, etc).

Changed the code that deals with 'properties'-based setup. The propertis
will be set on the factory regardless of the discovery mechanism.
This may be arguable, but at least it's symetrical and permits the
application to pass the information to the logger implementation in
all cases. Given that the properties are read by the class loader,
each application can have it's own settings  (even if
the admin sets a JVM-wide default by using a system property ).


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138862 13f79535-47bb-0310-9956-ffa450edef68
2002-02-14 21:09:19 +00:00
Costin Manolache 2ffc19f7df Fix conditional compilation. The official distribution must include support
for all loggers, for development it should be enough to have one.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138861 13f79535-47bb-0310-9956-ffa450edef68
2002-02-14 21:04:18 +00:00
Costin Manolache c72b5cc3a1 Added myself to the status.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138860 13f79535-47bb-0310-9956-ffa450edef68
2002-02-14 21:03:11 +00:00