[Java lista] printStackTrace

biziclop biziclop at gmail.com
2009. Okt. 23., P, 19:25:25 CEST


O jaj.

2009/10/23 Loxy Gento <loxygento at gmail.com>:
> 2009/10/22 Laja <laja at freemail.hu>:
>> Hali!
>>
>> Log4j loggernél hogyan lehet szépen megoldani, hogy a logba a StackTrace
>> is belekerüljön?
>>
>> Én csak a kézi megoldást találtam:
>>  logger.error(ioexc.toString());
>>  //StackTrace kiírása
>>   StringBuilder st=new StringBuilder();
>>  StackTraceElement[] ste=ioexc.getStackTrace();
>>  for(int i=0;i<ste.length;i++){
>>      st.append(ste[i].toString()+"\n");
>>  }
>>   logger.error(st_str.toString());
>>
>> Ezt mindenhova berakni kissé macerás. Vagy írjak mindenhova saját
>> logosztályt?
> Az AOP (Aspect Oriented Programming) erre van kitalálva.
>
>
> Pl AspectJ - vel:
>
> import org.apache.log4j.Level;
> import org.apache.log4j.Logger;
> import org.aspectj.lang.JoinPoint;
> import org.aspectj.lang.Signature;
> /**
>  * Logger aspect.
>  *
>  */
> public aspect Logging
> {
>     /**
>      * The logger instance.
>      */
>     Logger _logger = Logger.getLogger("logger");
>
>     /**
>      * Pointcut of stack trace printing.
>      */
>     pointcut stackTracePrinting()
>     : call(void java.lang.Throwable.printStackTrace()) && !within(Logging);
>
>     /**
>      * Redirects stack trace printing into logger.
>      */
>     void around() : stackTracePrinting() {
>         if (_logger.isEnabledFor(Level.ERROR))
>         {
>             _logger.log(Level.ERROR,
> (Throwable)thisJoinPoint.getTarget());
>         }
>     }
> }
>
> loxy
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>


További információk a(z) Javalist levelezőlistáról