You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by Ralph Goers <ra...@dslextreme.com> on 2017/09/13 14:02:06 UTC

Log4j-core and Android?

We are getting Jira issues about getting log4j to work in Android. At first, all I thought was required was getting the API to function on top of Android’s logging system. However, it seems that there are some who want to use the RollingFileAppender or perhaps other appenders. The issue I have is that I am pretty sure there are other things inside core that won’t work in Android, which was why my first attempt was to just get the API working there.

Right now there are 8 open issues that mention Android. LOG4J2-1915, LOG4J2-1920 LOG4J2-1921 all say that 2.8.2 doesn’t work, which was before the Java 9 support was added. LOG4J2-2042 says 2.9 doesn’t work because of a dependency on java.lang.management classes. LOG4J2-1920 says it has an error because the ScriptEngineManager is not available.

I am not sure how to solve this. We could just say Android is not supported although that would likely cause problems for a lot of people. We could only support API integration, as I first tried to do,  We could put in a bunch of code to try to detect android and disable stuff that doesn’t work there, but that is quite a bit of work and as far as I can tell none of the committers work with Android. Finally, we could create a log4j-android that contains the API combined with a minimal version of core.

Any thoughts on this?

Ralph

Re: Log4j-core and Android?

Posted by Matt Sicker <bo...@gmail.com>.
This seems like something that would be easier to support with a modular
log4j-core, though that's a much larger effort than fixing missing class
issues.

On 13 September 2017 at 10:37, Ralph Goers <ra...@dslextreme.com>
wrote:

> Great. But how would you do it?
>
> Ralph
>
> > On Sep 13, 2017, at 7:11 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >
> > I would like to see support for Android, all in our one code base, for
> now.
> >
> > Gary
> >
> > On Sep 13, 2017 08:02, "Ralph Goers" <ra...@dslextreme.com> wrote:
> >
> >> We are getting Jira issues about getting log4j to work in Android. At
> >> first, all I thought was required was getting the API to function on
> top of
> >> Android’s logging system. However, it seems that there are some who
> want to
> >> use the RollingFileAppender or perhaps other appenders. The issue I
> have is
> >> that I am pretty sure there are other things inside core that won’t
> work in
> >> Android, which was why my first attempt was to just get the API working
> >> there.
> >>
> >> Right now there are 8 open issues that mention Android. LOG4J2-1915,
> >> LOG4J2-1920 LOG4J2-1921 all say that 2.8.2 doesn’t work, which was
> before
> >> the Java 9 support was added. LOG4J2-2042 says 2.9 doesn’t work because
> of
> >> a dependency on java.lang.management classes. LOG4J2-1920 says it has an
> >> error because the ScriptEngineManager is not available.
> >>
> >> I am not sure how to solve this. We could just say Android is not
> >> supported although that would likely cause problems for a lot of
> people. We
> >> could only support API integration, as I first tried to do,  We could
> put
> >> in a bunch of code to try to detect android and disable stuff that
> doesn’t
> >> work there, but that is quite a bit of work and as far as I can tell
> none
> >> of the committers work with Android. Finally, we could create a
> >> log4j-android that contains the API combined with a minimal version of
> core.
> >>
> >> Any thoughts on this?
> >>
> >> Ralph
> >>
>
>
>


-- 
Matt Sicker <bo...@gmail.com>

Re: Log4j-core and Android?

Posted by Ralph Goers <ra...@dslextreme.com>.
Great. But how would you do it?

Ralph

> On Sep 13, 2017, at 7:11 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> I would like to see support for Android, all in our one code base, for now.
> 
> Gary
> 
> On Sep 13, 2017 08:02, "Ralph Goers" <ra...@dslextreme.com> wrote:
> 
>> We are getting Jira issues about getting log4j to work in Android. At
>> first, all I thought was required was getting the API to function on top of
>> Android’s logging system. However, it seems that there are some who want to
>> use the RollingFileAppender or perhaps other appenders. The issue I have is
>> that I am pretty sure there are other things inside core that won’t work in
>> Android, which was why my first attempt was to just get the API working
>> there.
>> 
>> Right now there are 8 open issues that mention Android. LOG4J2-1915,
>> LOG4J2-1920 LOG4J2-1921 all say that 2.8.2 doesn’t work, which was before
>> the Java 9 support was added. LOG4J2-2042 says 2.9 doesn’t work because of
>> a dependency on java.lang.management classes. LOG4J2-1920 says it has an
>> error because the ScriptEngineManager is not available.
>> 
>> I am not sure how to solve this. We could just say Android is not
>> supported although that would likely cause problems for a lot of people. We
>> could only support API integration, as I first tried to do,  We could put
>> in a bunch of code to try to detect android and disable stuff that doesn’t
>> work there, but that is quite a bit of work and as far as I can tell none
>> of the committers work with Android. Finally, we could create a
>> log4j-android that contains the API combined with a minimal version of core.
>> 
>> Any thoughts on this?
>> 
>> Ralph
>> 



Re: Log4j-core and Android?

Posted by Gary Gregory <ga...@gmail.com>.
I would like to see support for Android, all in our one code base, for now.

Gary

On Sep 13, 2017 08:02, "Ralph Goers" <ra...@dslextreme.com> wrote:

> We are getting Jira issues about getting log4j to work in Android. At
> first, all I thought was required was getting the API to function on top of
> Android’s logging system. However, it seems that there are some who want to
> use the RollingFileAppender or perhaps other appenders. The issue I have is
> that I am pretty sure there are other things inside core that won’t work in
> Android, which was why my first attempt was to just get the API working
> there.
>
> Right now there are 8 open issues that mention Android. LOG4J2-1915,
> LOG4J2-1920 LOG4J2-1921 all say that 2.8.2 doesn’t work, which was before
> the Java 9 support was added. LOG4J2-2042 says 2.9 doesn’t work because of
> a dependency on java.lang.management classes. LOG4J2-1920 says it has an
> error because the ScriptEngineManager is not available.
>
> I am not sure how to solve this. We could just say Android is not
> supported although that would likely cause problems for a lot of people. We
> could only support API integration, as I first tried to do,  We could put
> in a bunch of code to try to detect android and disable stuff that doesn’t
> work there, but that is quite a bit of work and as far as I can tell none
> of the committers work with Android. Finally, we could create a
> log4j-android that contains the API combined with a minimal version of core.
>
> Any thoughts on this?
>
> Ralph
>

Re: Log4j-core and Android?

Posted by Mikael Ståldal <mi...@apache.org>.
Even though some people want log4j-core features on Android, I think 
it's more important to at least get log4j-api to work properly on 
Android. Sooner or later, some Android apps will depend on a Java 
library which depends on log4j-api, and it would be good if that doesn't 
break the app (at build time or at run time). This does not have to do 
anything fancy, redirecting to Android LogCat would be enough for most apps.

I sometimes develop Android apps. I think that Android use cases for 
RollingFileAppender or other advanced stuff in log4j-core (such as 
filters) are quite rare. In most cases you either just want to redirect 
to Android LogCat, or send the logs to some server over Internet. 
Sending to some server is non-trivial given that mobile devices have 
unreliable connections, but you probably want something Android specific 
for that, the current log4j-core will not be a good fit by its own.

I think that any effort would be better spent on building a specific 
Log4j implementation for Android, than making the regular log4j-core 
work on Android.


On 2017-09-13 16:02, Ralph Goers wrote:
> We are getting Jira issues about getting log4j to work in Android. At first, all I thought was required was getting the API to function on top of Android’s logging system. However, it seems that there are some who want to use the RollingFileAppender or perhaps other appenders. The issue I have is that I am pretty sure there are other things inside core that won’t work in Android, which was why my first attempt was to just get the API working there.
> 
> Right now there are 8 open issues that mention Android. LOG4J2-1915, LOG4J2-1920 LOG4J2-1921 all say that 2.8.2 doesn’t work, which was before the Java 9 support was added. LOG4J2-2042 says 2.9 doesn’t work because of a dependency on java.lang.management classes. LOG4J2-1920 says it has an error because the ScriptEngineManager is not available.
> 
> I am not sure how to solve this. We could just say Android is not supported although that would likely cause problems for a lot of people. We could only support API integration, as I first tried to do,  We could put in a bunch of code to try to detect android and disable stuff that doesn’t work there, but that is quite a bit of work and as far as I can tell none of the committers work with Android. Finally, we could create a log4j-android that contains the API combined with a minimal version of core.
> 
> Any thoughts on this?
> 
> Ralph
>