You're best bet is to attach your patch to a issue at
https://issues.apache.org/jira/browse/LOGGING and then either be
patient or try to get a committer to take interests in your submission
and consider it.

Posting to the mailing list means you're taking a chance that it won't
get noticed by someone who chooses to work on commons logging. Also,
since no one I know around here is paid to work at Apache, things can
seem to be ignored for a long while until someone finds the time and
energy to address your issue.

On 11/14/06, Lilianne E. Blaze <[EMAIL PROTECTED]> wrote:
Why the complete lack of response?
If something like that was in the code earlier, it would save me a good
couple of hours, so I believe it is useful enough to be included. I
can't be the only one who encountered this problem.

Or is it the wrong list?

Greetings, Lilianne E. Blaze

Lilianne E. Blaze wrote:
> Hello,
> During the last few days I had major problems trying to configure
> Commons-Logging + Log4j on Glassfish.
> It turned out to be related to Log4j UDPAppender, but it took me
> needlessly long time to verify the problem was indeed in Log4j and not
> in Commons-Logging, Glassfish or something else. Now, why am I posting
> it here then - I made a small modification which logs Log4j failures
> more precisely, instead of just:
>
> [EMAIL PROTECTED] from
> [EMAIL PROTECTED] Could not
> instantiate Log 'org.apache.commons.logging.impl.Log4JLogger' --
> java.lang.reflect.InvocationTargetException: null
>
> which explains, basically, nothing, you get for example:
>
> [EMAIL PROTECTED] from
> [EMAIL PROTECTED] Could not
> instantiate Log 'org.apache.commons.logging.impl.Log4JLogger' --
> java.lang.reflect.InvocationTargetException: null
> [EMAIL PROTECTED] from
> [EMAIL PROTECTED] ...
> InvocationTargetException: java.lang.ExceptionInInitializerError: null
> [EMAIL PROTECTED] from
> [EMAIL PROTECTED] ...
> ExceptionInInitializerError: java.lang.IllegalStateException: Property
> layout must be set for UDPAppender named appenderLocalhostUdp
>
> which states clearly that Log4j was indeed loaded, and the problem was
> in its configuration.
> All it does is expand those two exceptions if they occurred. It could
> be more general and more elegant, but this code should work in pre-1.4
> Java.
>
> Could you please include it in next build of Commons-Logging?
>
> Attaching the patch text below.
>
> Greetings, Lilianne E. Blaze
>
> Index: LogFactoryImpl.java
> ***
> 
D:\Work\Projects\Apache\commons-logging-custom\src\org\apache\commons\logging\impl\LogFactoryImpl.java
> Base (BASE)
> ---
> 
D:\Work\Projects\Apache\commons-logging-custom\src\org\apache\commons\logging\impl\LogFactoryImpl.java
> Locally Modified (Based On LOCAL)
> ***************
> *** 1362,1369 ****
> --- 1362,1388 ----
>                        + logAdapterClassName + "' -- "
>                        + discoveryFlaw.getClass().getName() + ": "
>                        + discoveryFlaw.getLocalizedMessage());
> +            +             if ( discoveryFlaw instanceof
> InvocationTargetException ) {
> +                 InvocationTargetException ite =
> (InvocationTargetException)discoveryFlaw;
> +                 Throwable cause = ite.getTargetException();
> +                 logDiagnostic("... InvocationTargetException: " +
> +                         cause.getClass().getName() + ": " +
> +                         cause.getLocalizedMessage());
> +                +                 if( cause instanceof
> ExceptionInInitializerError ) {
> +                     ExceptionInInitializerError eiie =
> (ExceptionInInitializerError)cause;
> +                     Throwable cause2 = eiie.getException();
> +                     logDiagnostic("... ExceptionInInitializerError: " +
> +                             cause2.getClass().getName() + ": " +
> +                             cause2.getLocalizedMessage());
> +                                     }
>                 +             }
> +            +         }
> +                 if (!allowFlawedDiscovery) {
>              throw new LogConfigurationException(discoveryFlaw);
>          }
>
> Index: Log4JLogger.java
> ***
> 
D:\Work\Projects\Apache\commons-logging-custom\src\org\apache\commons\logging\impl\Log4JLogger.java
> Base (BASE)
> ---
> 
D:\Work\Projects\Apache\commons-logging-custom\src\org\apache\commons\logging\impl\Log4JLogger.java
> Locally Modified (Based On LOCAL)
> ***************
> *** 77,84 ****
> --- 77,86 ----
>      // ------------------------------------------------------------
>
>      static {
> +
>          if (!Priority.class.isAssignableFrom(Level.class)) {
>              // nope, this is log4j 1.3, so force an
> ExceptionInInitializerError
> +             // note - it still works with log4j 1.3.8-alpha
>              throw new InstantiationError("Log4J 1.2 not available");
>          }
>         ***************
> *** 112,117 ****
> --- 114,124 ----
>      /** For use with a log4j factory.
>       */
>      public Log4JLogger(Logger logger ) {
> +      +         if( logger == null ) {
> +             throw new IllegalArgumentException("Warning - logger ==
> null, possible Log4j misconfiguration?");
> +         }
> +               this.name = logger.getName();
>          this.logger=logger;
>      }
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Sandy McArthur

"He who dares not offend cannot be honest."
- Thomas Paine

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to