You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Matt Sicker (JIRA)" <ji...@apache.org> on 2014/07/08 22:38:05 UTC

[jira] [Commented] (LOG4J2-703) Log4J 2 on Android : Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup

    [ https://issues.apache.org/jira/browse/LOG4J2-703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14055487#comment-14055487 ] 

Matt Sicker commented on LOG4J2-703:
------------------------------------

It appears that Android does not ship with the {{javax.naming}} package.

> Log4J 2 on Android : Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-703
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-703
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.0-rc2
>         Environment: Android
>            Reporter: Nelson MELINA
>            Priority: Blocker
>
> Hi guys, i'm trying to use Log4J2 in an Android (19) application and it's not working. Here is the code i have and the stacktrace i obtain when running the application.
> Am i missing something or is Log4J2 not working yet in an Android environment ?
> {code:title=MyActivity.java|borderStyle=solid}
> import org.apache.logging.log4j.LogManager;
> import org.apache.logging.log4j.Logger;
> public class MyActivity extends Activity {
>     static final Logger logger = LogManager.getLogger(MyActivity.class.getName());
>     @Override
>     protected void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         setContentView(R.layout.activity_my);
>         logger.error("TEST ############################################");
>     }
> {code}
> {noformat}
> 07-08 10:40:23.401    1307-1307/com.intl.log4j2xtest E/dalvikvm﹕ Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup
> 07-08 10:40:23.441    1307-1307/com.intl.log4j2xtest E/AndroidRuntime﹕ FATAL EXCEPTION: main
>     Process: com.intl.log4j2xtest, PID: 1307
>     java.lang.VerifyError: org/apache/logging/log4j/core/lookup/JndiLookup
>             at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:75)
>             at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:99)
>             at org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:29)
>             at org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:63)
>             at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218)
>             at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:144)
>             at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:80)
>             at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:72)
>             at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:37)
>             at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:473)
>             at com.intl.log4j2xtest.MyActivity.<clinit>(MyActivity.java:16)
>             at java.lang.Class.newInstanceImpl(Native Method)
>             at java.lang.Class.newInstance(Class.java:1208)
>             at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
>             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
>             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
>             at android.app.ActivityThread.access$800(ActivityThread.java:135)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
>             at android.os.Handler.dispatchMessage(Handler.java:102)
>             at android.os.Looper.loop(Looper.java:136)
>             at android.app.ActivityThread.main(ActivityThread.java:5017)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:515)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
>             at dalvik.system.NativeStart.main(Native Method)
> {noformat}
> build.gradle file :
> {noformat}
> apply plugin: 'com.android.application'
> android {
>     compileSdkVersion 19
>     buildToolsVersion "19.1.0"
>     defaultConfig {
>         applicationId "com.intl.log4j2xtest"
>         minSdkVersion 19
>         targetSdkVersion 19
>         versionCode 1
>         versionName "1.0"
>     }
>     buildTypes {
>         release {
>             runProguard false
>             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
>         }
>     }
>     packagingOptions {
>         exclude 'META-INF/LICENSE'
>         exclude 'META-INF/NOTICE'
>     }
> }
> dependencies {
>     compile fileTree(dir: 'libs', include: ['*.jar'])
>     compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.0-rc2'
>     compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.0-rc2'
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org