Thanks Ceki, that could be the issue. I currently have a bunch of jars in my classpath, that all have to do with logging:
commons-logging-api.jar commons-logging.jar log4j.jar logback-classic-0.9.21.jar logback-core-0.9.21.jar slf4j-api-1.6.1.jar I use Jetty+Spring Framework and the latter one requires Log4j and the commons-logging jars. The part of the application that I wrote, only uses Logback+Slf4j. Any ideas how to get away with this? On Tue, Mar 29, 2011 at 2:32 PM, Ceki Gulcu <[email protected]> wrote: > Hello Clemens, > > Lance's suggestion is almost certaint on target. Do check your classpath to > see if there are multiple instances of logback-classic lying around. > -- > Ceki > > On 29.03.2011 14:13, Clemens Siebler wrote: > >> Thanks for the hint Lance! I feel like this could be the issue. However, >> I haven't managed to actually find a solution to it. I tried starting my >> application with -verbose:class, but I can only see one entry of: >> [Loaded ch.qos.logback.classic.LoggerContext from >> file:/yyy/logback-classic-0.9.21.jar]. I suppose there should be >> multiple of these, if that actually is the problem? Thanks for your help! >> >> >> On Fri, Mar 25, 2011 at 4:54 PM, Lance White <[email protected] >> <mailto:[email protected]>> wrote: >> >> >> 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:*[email protected] >> <mailto:[email protected]> >> [mailto:[email protected] >> <mailto:[email protected]>] *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 >> <[email protected] >> <mailto:[email protected]>> 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 >> <[email protected] >> <mailto:[email protected]>> 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 >> <[email protected] <mailto:[email protected]>> >> >> 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 >> <[email protected] >> <mailto:[email protected]>> 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 > [email protected] > http://qos.ch/mailman/listinfo/logback-user >
_______________________________________________ Logback-user mailing list [email protected] http://qos.ch/mailman/listinfo/logback-user
