You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by "William Ferguson (JIRA)" <ji...@apache.org> on 2017/09/11 09:25:02 UTC

[jira] [Commented] (LOG4J2-1921) Getting ClassCastException while getting LoggerContext

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

William Ferguson commented on LOG4J2-1921:
------------------------------------------

I am also interested in using log4j2 on Android.
And like Ajitha I'm wanting to log using a RollingFileAppender instead of Android Log (as Android Log is a circular buffer that is shared among all apps/components on the phone)

I've had a look at the android branch and it seems to just stand up a Logger that will redirect to Android Log.
What work needs to be done to enhance that branch so that on an Android VM we can use RollingFileAppenders?

> Getting ClassCastException while getting LoggerContext
> ------------------------------------------------------
>
>                 Key: LOG4J2-1921
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1921
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Configurators
>    Affects Versions: 2.8.2
>         Environment: Android
>            Reporter: Ajitha
>            Priority: Blocker
>              Labels: Android
>         Attachments: Log4jExample_using_v2.3.zip
>
>
> Hi, 
> I integrated the log4j with my Android application and did the initial config. It works fine.  I have a menu item in "Settings" screen where I can change the log levels in my application. So, After I change the configuration, I need to update the loggers. So I am using following logic. 
> {code:java}
> LoggerContext ctx = LoggerContext.getContext()
>         Configuration config = ctx.getConfiguration();
>         LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME);
>         loggerConfig.setLevel(myLogLevel);
>         ctx.updateLoggers();
> {code}
> While getting the logger context, I am getting a ClassCastException.
> 05-26 22:33:21.011 E/AndroidRuntime( 9642): Caused by: java.lang.ClassCastException: org.apache.logging.log4j.simple.SimpleLoggerContext cannot be cast to org.apache.logging.log4j.core.LoggerContext
> 05-26 22:33:21.011 E/AndroidRuntime( 9642): 	at org.apache.logging.log4j.core.LoggerContext.getContext(LoggerContext.java:190)
> 05-26 22:33:21.011 E/AndroidRuntime( 9642): 	at org.apache.logging.log4j.core.config.Configurator.setRootLevel(Configurator.java:323)
> Please help here.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)