[logback-user] Retrieving the log filenames

Lance White lance.white at logicscope.com
Fri Mar 25 16:54:12 CET 2011


>> However, when I try to use this code outside of my test environement,
I get the following Exception on the first line:
>> java.lang.ClassCastException: ch.qos.logback.classic.LoggerContext
cannot be cast to ch.qos.logback.classic.LoggerContext



This is usually a multiple classloader problem.

 

 

Lance

 

 

From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch]
On Behalf Of Clemens Siebler
Sent: 24 March 2011 16:16
To: logback users list
Subject: Re: [logback-user] Retrieving the log filenames

 

Ok, I figured out how to get at least the base logfile:
        LoggerContext ctx = (LoggerContext)
LoggerFactory.getILoggerFactory();        
        for (Logger l : ctx.getLoggerList()) {
            ch.qos.logback.classic.Logger log =
(ch.qos.logback.classic.Logger) l;            
            Iterator<Appender<ILoggingEvent>> it =
log.iteratorForAppenders();
            while (it.hasNext()) {
                Appender<ILoggingEvent> ap = it.next();
                if (ap instanceof FileAppender<?> || ap instanceof
RollingFileAppender<?>) {
                    FileAppender<?> fileAppender = (FileAppender<?>)ap;
                    System.out.println(fileAppender.getFile());
                }
            }
        }

However, when I try to use this code outside of my test environement, I
get the following Exception on the first line:
java.lang.ClassCastException: ch.qos.logback.classic.LoggerContext
cannot be cast to ch.qos.logback.classic.LoggerContext

Any ideas? I'm currently using Jetty, slf4j and logback. However, it
seems that there are still some dependencies on log4j in Jetty that I
can't get rid of...



On Tue, Mar 22, 2011 at 10:23 AM, Clemens Siebler
<clemens.siebler at googlemail.com> wrote:



As far as log4j goes, the getAppender function can be used. However, I
have not managed to get this one working for logback. Any ideas?

 

On Mon, Mar 21, 2011 at 3:42 PM, Clemens Siebler
<clemens.siebler at googlemail.com> wrote:



Let's assume the user only changes the logging levels/filter during
runtime, nothing else.

 

On Mon, Mar 21, 2011 at 3:32 PM, David Roussel
<nabble at diroussel.xsmail.com> wrote:



Would a change notifier be told of the new filename?  I'm not sure, but
it's worth a check.


On 21 Mar 2011, at 13:56, Clemens Siebler
<clemens.siebler at googlemail.com> wrote:

> Hi all,
>
> I'm currently using Logback (SLF4J) with a TimeBasedRollingPolicy
defined in logback.xml. Everything works fine, however, I'd like to
retrieve the filenames of the current logging session since the
application started. The user can obviously change the log filenames and
policies in logback.xml, so I don't want them hardcoded in the source.
My goal is to retrieve these filenames straight within Java in order to
do some more processing with them. Is there any possibility in
logback/slf4j to retrieve those names?
>
> I currently aquire the logger via:
> Logger logger = LoggerFactory.getLogger(Test.class);
>
> but obviously, this Logger object in particular doesn't provide such
functionality. Any ideas?
>
> Thanks in advance,
> Clemens

> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
Logback-user at qos.ch
http://qos.ch/mailman/listinfo/logback-user

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://qos.ch/pipermail/logback-user/attachments/20110325/e61fd948/attachment.html>


More information about the Logback-user mailing list