You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/07/10 07:22:00 UTC

[jira] [Work logged] (LOG4J2-2604) Generate reflect-config.json for GraalVM during annotation processing

     [ https://issues.apache.org/jira/browse/LOG4J2-2604?focusedWorklogId=274702&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-274702 ]

ASF GitHub Bot logged work on LOG4J2-2604:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/Jul/19 07:21
            Start Date: 10/Jul/19 07:21
    Worklog Time Spent: 10m 
      Work Description: Mhhli commented on pull request #291: [LOG4J2-2604/2649] Change MethodHandle to Constructor to adapt graalvm
URL: https://github.com/apache/logging-log4j2/pull/291
 
 
   See  https://issues.apache.org/jira/browse/LOG4J2-2649
           https://issues.apache.org/jira/browse/LOG4J2-2604
   Log4j2 core does not support static compilation because Graalvm does not support MethodHandle method. 
   I change the useing in log4j2 to constructor.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 274702)
            Time Spent: 10m
    Remaining Estimate: 0h

> Generate reflect-config.json for GraalVM during annotation processing
> ---------------------------------------------------------------------
>
>                 Key: LOG4J2-2604
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2604
>             Project: Log4j 2
>          Issue Type: New Feature
>          Components: Configurators
>            Reporter: Remko Popma
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> See [https://github.com/oracle/graal/issues/1209] and [https://github.com/oracle/graal/issues/808]
> Currently log4j2 cannot be used in GraalVM native images because it uses reflection. 
> Graal SubstrateVM can [deal with reflection|https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md] when it’s clear to the AOT compiler what classes, methods and fields are reflected on. The log4j plugin mechanism is too dynamic for the automatic reflection analysis.
> This can be solved by providing a {{reflect-config.json}} configuration file, which may be embedded in the jar under {{META-INF/native-image/some/path/}}.
> The annotation processor is the natural place to generate this configuration file, so that applications that provide custom Log4j components will have the necessary {{META-INF/native-image/org/apache/logging/log4j/core/config/plugins/reflect-config.json}} to accompany their {{META-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat}} file in their jar.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)