[logback-user] Logback.groovy configuration results in java.lang.VerifyError exception.

rathnadhar.kolar at wipro.com rathnadhar.kolar at wipro.com
Mon Feb 28 11:27:53 CET 2011


Namasthe Ceki,

Yes the offending package was json-lib 2.1.

I removed it from the class path. The logback.groovy configuration
worked!

Thanks for the help.

I suggest this issue be put as a faq. I spent nearly 5 days figuring as
to how to use logback.groovy !

Regards
Rathna
========================================================
Rathnadhar.K.V

"Aham Brahmasmi" Brhadaranyaka Upanishad 1.4.10
========================================================




-----Original Message-----
From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch]
On Behalf Of Ceki Gulcu
Sent: Monday, 28 February, 2011 15:16
To: logback users list
Subject: Re: [logback-user] Logback.groovy configuration results in
java.lang.VerifyError exception.

Groovy version 1.7.8 is fine. However, your project is probably *also*
pulling in an older version of Groovy. See
http://jira.codehaus.org/browse/GROOVY-3802 which looks similar to your
problem.

On 28.02.2011 10:47, rathnadhar.kolar at wipro.com wrote:
> Namasthe Ceki,
>
> I am using groovy-all-1.7.8.jar (Groovy 1.7.8) which according to 
> Groovy
> (http://groovy.codehaus.org/) is absolutely latest stable version as 
> of 28/Feb/2011.
>
> BTW which is the groovy version that is to be used?
>
> Regards
> Rathna
> ========================================================
> Rathnadhar.K.V
>
> "Aham Brahmasmi" Brhadaranyaka Upanishad 1.4.10 
> ========================================================
>
>
>
>
> -----Original Message-----
> From: logback-user-bounces at qos.ch [mailto:logback-user-bounces at qos.ch]
> On Behalf Of Ceki Gulcu
> Sent: Monday, 28 February, 2011 15:08
> To: logback users list
> Subject: Re: [logback-user] Logback.groovy configuration results in 
> java.lang.VerifyError exception.
>
>
> You are probably pulling in an older version of Groovy. See for
example:
> http://jira.codehaus.org/browse/GROOVY-3802
>
> On 28.02.2011 10:07, rathnadhar.kolar at wipro.com wrote:
>> Namasthe Ceki,
>>
>> Its :
>>
>> java version "1.6.0_20"
>> Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM)

>> Client VM (build 16.3-b01, mixed mode, sharing)
>>
>>
>> This is what I get when I run java -version.
>>
>> I think its pointing to JRE ($JAVA_HOME/jre)...
>>
>> Regards
>> Rathnadhar.K.V
>> ========================================================
>> Rathnadhar.K.V
>>
>> "Aham Brahmasmi" Brhadaranyaka Upanishad 1.4.10 
>> ========================================================
>>
>>
>>
>>
>> -----Original Message-----
>> From: logback-user-bounces at qos.ch 
>> [mailto:logback-user-bounces at qos.ch]
>> On Behalf Of Ceki Gulcu
>> Sent: Monday, 28 February, 2011 14:28
>> To: logback users list
>> Subject: Re: [logback-user] Logback.groovy configuration results in 
>> java.lang.VerifyError exception.
>>
>> Hi Rathnadhar,
>> I can run config file finr. It runs without generating a 
>> java.lang.VerifyError. Which JDK are you using?
>> --
>> Ceki
>>
>> On 28.02.2011 09:13, rathnadhar.kolar at wipro.com wrote:
>>> Namasthe,
>>>
>>> I have switched from log4j to logback. For configuration, I 
>>> initially
>
>>> worked with logback.xml which worked fine. I wanted to get rid of 
>>> xml
>
>>> so re-wrote the logback.xml in groovy.
>>>
>>> The logback.groovy is as below:
>>>
>>> *import*ch.qos.logback.classic.PatternLayout
>>>
>>> *import*ch.qos.logback.classic.filter.ThresholdFilter
>>>
>>> *import*ch.qos.logback.classic.net.SMTPAppender
>>>
>>> *import*ch.qos.logback.core.ConsoleAppender
>>>
>>> *import*ch.qos.logback.core.rolling.FixedWindowRollingPolicy
>>>
>>> *import*ch.qos.logback.core.rolling.RollingFileAppender
>>>
>>> *import*ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy
>>>
>>> *import**static*ch.qos.logback.classic.Level.ERROR
>>>
>>> *import**static*ch.qos.logback.classic.Level.INFO
>>>
>>> appender("RootFileAppender", RollingFileAppender) {
>>>
>>> file = "project"
>>>
>>> append = *true*
>>>
>>> filter(ThresholdFilter) {
>>>
>>> level = INFO
>>>
>>> }
>>>
>>> rollingPolicy(FixedWindowRollingPolicy) {
>>>
>>> fileNamePattern = "project_log.%i"
>>>
>>> maxIndex = 1
>>>
>>> }
>>>
>>> triggeringPolicy(SizeBasedTriggeringPolicy) {
>>>
>>> maxFileSize = 1000000
>>>
>>> }
>>>
>>> layout(PatternLayout) {
>>>
>>> pattern = "%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t, %ex, %F, %L, %C{1}, 
>>> %M
>> %m%n"
>>>
>>> }
>>>
>>> }
>>>
>>> appender("RootConsoleAppender", ConsoleAppender) {
>>>
>>> filter(ThresholdFilter) {
>>>
>>> level = INFO
>>>
>>> }
>>>
>>> layout(PatternLayout) {
>>>
>>> pattern = "%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t %m%n"
>>>
>>> }
>>>
>>> }
>>>
>>> appender("RootEmailAppender", SMTPAppender) {
>>>
>>> filter(ThresholdFilter) {
>>>
>>> level = ERROR
>>>
>>> }
>>>
>>> bufferSize = 10
>>>
>>> SMTPHost = "smtp.hostaddress"
>>>
>>> to = "logback.user at xyz.com"
>>>
>>> from = " logback.user at xyz.com "
>>>
>>> username = "user"
>>>
>>> password = "password"
>>>
>>> subject = "Logback Error"
>>>
>>> layout(PatternLayout) {
>>>
>>> pattern = "%d{yyyy-MM-dd HH:mm:ss}, %p, %c, %t, %ex, %F, %L, %C{1}, 
>>> %M
>> %m%n"
>>>
>>> }
>>>
>>> }
>>>
>>> root(INFO, ["RootFileAppender", "RootConsoleAppender",
>>> "RootEmailAppender"])
>>>
>>> (Some values have been masked for security reasons).
>>>
>>> I put this file in the classpath.
>>>
>>> After that I started my application, but I got this exception:
>>>
>>> Failed to instantiate [ch.qos.logback.classic.LoggerContext]
>>>
>>> Reported exception:
>>>
>>> java.lang.VerifyError: (class:
>>> groovy/runtime/metaclass/java/lang/StringMetaClass, method:
>>> super$2$invokeMethod signature:
>>> (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Ob
>>> j
>>> e
>>> ct;ZZ)Ljava/lang/Object;) Illegal use of nonvirtual function call
>>>
>>> at java.lang.Class.forName0(_Native Method_)
>>>
>>> at java.lang.Class.forName(_Class.java:169_)
>>>
>>> at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCust
>>> o
>>> m
>>> Lookup(_MetaClassRegistry.java:127_)
>>>
>>> at
>>> groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(_MetaCl
>>> a
>>> s
>>> sRegistry.java:122_)
>>>
>>> at
>>> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(_Clas
>>> s
>>> I
>>> nfo.java:165_)
>>>
>>> at
>>>
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(_ClassInfo.java:
>>> 195_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaC
>>> l
>>> a
>>> ss(_MetaClassRegistryImpl.java:214_)
>>>
>>> at
>>>
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(_InvokerHelper.
>>> java:747_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(_C
>>> a
>>> l
>>> lSiteArray.java:107_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(_C
>>> a
>>> l
>>> lSiteArray.java:148_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(_Call
>>> S
>>> i
>>> teArray.java:40_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(_Abstract
>>> C
>>> a
>>> llSite.java:116_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(_Abstract
>>> C
>>> a
>>> llSite.java:124_)
>>>
>>> at
>>> ch.qos.logback.classic.gaffer.ConfigurationDelegate.appender(Configu
>>> r
>>> a
>>> tionDelegate.groovy:117)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(_Native Method_)
>>>
>>> at
>>>
> sun.reflect.NativeMethodAccessorImpl.invoke(_NativeMethodAccessorImpl.
>>> java:39_)
>>>
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(_DelegatingMethodAcc
>>> e
>>> s
>>> sorImpl.java:25_)
>>>
>>> at java.lang.reflect.Method.invoke(_Method.java:597_)
>>>
>>> at
>>>
> org.codehaus.groovy.reflection.CachedMethod.invoke(_CachedMethod.java:
>>> 90_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.metaclass.MixinInstanceMetaMethod.invoke
>>> (
>>> _
>>> MixinInstanceMetaMethod.java:53_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMeth
>>> o
>>> d
>>> SiteNoUnwrapNoCoerce.invoke(_PogoMetaMethodSite.java:307_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(
>>> _
>>> P
>>> ogoMetaMethodSite.java:51_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurren
>>> t
>>> (
>>> _CallSiteArray.java:44_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(_A
>>> b
>>> s
>>> tractCallSite.java:141_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(_A
>>> b
>>> s
>>> tractCallSite.java:157_)
>>>
>>> at Script1.run(Script1.groovy:24)
>>>
>>> at Script1$run.call(Unknown Source)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(_Call
>>> S
>>> i
>>> teArray.java:40_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(_Abstract
>>> C
>>> a
>>> llSite.java:116_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(_Abstract
>>> C
>>> a
>>> llSite.java:120_)
>>>
>>> at
>>> ch.qos.logback.classic.gaffer.GafferConfigurator.run(GafferConfigura
>>> t
>>> o
>>> r.groovy:59)
>>>
>>> at
>>> ch.qos.logback.classic.gaffer.GafferConfigurator$run.callCurrent(Unk
>>> n
>>> o
>>> wn
>>> Source)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurren
>>> t
>>> (
>>> _CallSiteArray.java:44_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(_A
>>> b
>>> s
>>> tractCallSite.java:141_)
>>>
>>> at
>>> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(_A
>>> b
>>> s
>>> tractCallSite.java:149_)
>>>
>>> at
>>> ch.qos.logback.classic.gaffer.GafferConfigurator.run(GafferConfigura
>>> t
>>> o
>>> r.groovy:37)
>>>
>>> at
>>> ch.qos.logback.classic.gaffer.GafferUtil.runGafferConfiguratorOn(_Ga
>>> f
>>> f
>>> erUtil.java:44_)
>>>
>>> at
>>> ch.qos.logback.classic.util.ContextInitializer.configureByResource(_
>>> C
>>> o
>>> ntextInitializer.java:67_)
>>>
>>> at
>>> ch.qos.logback.classic.util.ContextInitializer.autoConfig(_ContextIn
>>> i
>>> t
>>> ializer.java:150_)
>>>
>>> at
>>> org.slf4j.impl.StaticLoggerBinder.init(_StaticLoggerBinder.java:85_)
>>>
>>> at
>>> org.slf4j.impl.StaticLoggerBinder.<clinit>(_StaticLoggerBinder.java:
>>> 5
>>> 5
>>> _)
>>>
>>> at org.slf4j.LoggerFactory.bind(_LoggerFactory.java:121_)
>>>
>>> at
>>> org.slf4j.LoggerFactory.performInitialization(_LoggerFactory.java:11
>>> 1
>>> _
>>> )
>>>
>>> at
>>> org.slf4j.LoggerFactory.getILoggerFactory(_LoggerFactory.java:268_)
>>>
>>> at org.slf4j.LoggerFactory.getLogger(_LoggerFactory.java:241_)
>>>
>>> at
>>> src.temporalprocessing.StartProgram.<clinit>(_StartProgram.java:37_)
>>>
>>> When I switch from logback.groovy to logback.xml, everything works 
>>> perfectly (both the configurations are equal in functionality).
>>>
>>> My google search did not yield useful information.
>>>
>>> I am using the following jars:
>>>
>>> 1.groovy-all-1.7.8.jar
>>>
>>> 2.logback-access-0.9.28.jar
>>>
>>> 3.logback-classic-0.9.28.jar
>>>
>>> 4.logback-core-0.9.28.jar
>>>
>>> 5.slf4j-api-1.6.1.jar
>>>
>>> Can somebody please help me to resolve the issue.
>>>
>>> Regards
>>>
>>> Rathnadhar.K.V
>>>
>>> *Please do not print this email unless it is absolutely necessary. *
>>>
>>> The information contained in this electronic message and any 
>>> attachments to this message are intended for the exclusive use of 
>>> the
>>> addressee(s) and may contain proprietary, confidential or privileged

>>> information. If you are not the intended recipient, you should not 
>>> disseminate, distribute or copy this e-mail. Please notify the 
>>> sender
>
>>> immediately and destroy all copies of this message and any
>> attachments.
>>>
>>> WARNING: Computer viruses can be transmitted via email. The 
>>> recipient
>
>>> should check this email and any attachments for the presence of
>> viruses.
>>> The company accepts no liability for any damage caused by any virus 
>>> transmitted by this email.
>>>
>>> www.wipro.com
>
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://qos.ch/mailman/listinfo/logback-user
>
> Please do not print this email unless it is absolutely necessary.
>
> The information contained in this electronic message and any
attachments to this message are intended for the exclusive use of the
addressee(s) and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately and destroy all copies of this message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses.
The company accepts no liability for any damage caused by any virus
transmitted by this email.
>
> www.wipro.com
> _______________________________________________
> 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

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com


More information about the Logback-user mailing list