Than you for the input. I have added all of the apache jar files I need via 
Classpath, and have no need to modularize my application. Still having issues. 
My build is being created with ANT. Will try the profiling as soon as I can and 
get back to you.

Lisa

-------- Original Message --------
On Nov 18, 2020, 8:49 AM, Ralph Goers wrote:

> It should be. Normally you just have to add an agent to the command line for 
> the application.
>
> If you are just placing everything on the classpath Java 11 should behave 
> more or less like Java 8. However, if you are trying to use the module path 
> and Java 11 modules you will likely have all kinds of interesting problems.
>
> Ralph
>
>> On Nov 18, 2020, at 9:00 AM, Lisa Ruby <lbru...@protonmail.com.INVALID> 
>> wrote:
>>
>> Do you know if it's possible to run YourKit under NetBeans? I can try it
>> if I can do that. I'm having all kinds of other issues right now trying
>> to run my application outside of NetBeans. I'm using Apache FOP and
>> there are issues with the module architecture of Java 9+ and the jar
>> files needed by Apache FOP. Problems with module descriptors and
>> exceptions related to export of classes. Some of it is interactions with
>> classes used by log4j. Until I can figure out how to resolve these
>> problems I can only run under NetBeans. Not sure what NetBeans is doing
>> that allows it to run.
>>
>> Lisa
>>
>> On 11/18/2020 7:49 AM, Ralph Goers wrote:
>>> Is there any chance you could run your application under YourKit and 
>>> profile startup?
>>>
>>> Your partner uses %L so each log event needs to locate the location of the 
>>> caller. In Java 8 that used the com.sun.Reflection class but that was 
>>> removed in Java 9 so in Java 11 it would be using java.util.StackWalker. I 
>>> suspect the majority of the time will be there. I have made several 
>>> attempts to make that faster but haven’t seemed to find something that 
>>> works for everybody. So providing a profiling snapshot would help 
>>> enormously.
>>>
>>> FWIW, Logging to the Console is known to be very slow, but I don’t believe 
>>> it should have changed that much between Java 8 and 11.
>>>
>>> Ralph
>>>
>>>> On Nov 17, 2020, at 11:11 PM, Lisa Ruby <lbru...@protonmail.com.INVALID> 
>>>> wrote:
>>>>
>>>> I am working on moving my Java application development from Java 8 and
>>>> JavaFX 8 to Java 11 and JavaFX 11, and am seeing a large performance
>>>> degradation in log4j between Java 8 and Java 11.
>>>>
>>>> I've found these two issues that appear to have been addressed. Assuming
>>>> whatever changes/fixes were involved got included in the latest
>>>> releases, they have not fixed the issue I am seeing.
>>>>
>>>> https://github.com/line/armeria/issues/2306
>>>> https://issues.apache.org/jira/browse/LOG4J2-2537
>>>>
>>>> For Java 11 I am using AdoptOpenJDK version 11.0.2, OpenJFX version
>>>> 11.0.2, log4j version 2.14.0 (also tried 2.13.3, and 2.12.1), and
>>>> NetBeans 12.0. In my Java 8 implementation I'm using log4j 2.12.1. I can
>>>> supply JDK version if needed.
>>>>
>>>> Below is a general representation of what my log4j xml config file looks
>>>> like. It's the same for Java 8 as for Java 11. I have a Loggers entry
>>>> for each class in my application. They are all specified the same as the
>>>> one shown here. In each class file I have code that looks like this:
>>>>
>>>> private static final Logger logger =
>>>> LogManager.getLogger(ClassName.class.getName());
>>>>
>>>> XML File Sample
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <Configuration status="warn" monitorinterval="15">
>>>> <Appenders>
>>>> <Console name="Console" target="SYSTEM_OUT">
>>>> <PatternLayout pattern="%d{ISO8601} [%t] %-5level %logger{36} -
>>>> %L - %msg%n"/>
>>>> </Console>
>>>> <RollingFile name="RollingLogFile" fileName="logs/app.log"
>>>> filePattern="logs/app-%i.log" >
>>>> <PatternLayout>
>>>> <pattern>%d{ISO8601}_%-5level_[%replace{%t}{stateofmyestate\.}{}]_%replace{%logger{36}}{stateofmyestate\.}{}_%L_%msg%n%ex</pattern>
>>>> </PatternLayout>
>>>> <Policies>
>>>> <SizeBasedTriggeringPolicy size="5 MB" />
>>>> </Policies>
>>>> <DefaultRolloverStrategy max="5"/>
>>>> </RollingFile>
>>>> </Appenders>
>>>> <Loggers>
>>>> <Logger name = "appname.classname" level = "trace"
>>>> additivity="false">
>>>> <AppenderRef ref="RollingLogFile"/>
>>>> <AppenderRef ref="Console"/>
>>>> </Logger>
>>>> <Root level="trace">
>>>> <AppenderRef ref="Console"/>
>>>> </Root>
>>>> </Loggers>
>>>> </Configuration>
>>>>
>>>> I have a lot of log messages, many of which are logged as the
>>>> application is starting. When using Java 11 the logging is causing my
>>>> application to take at least 6 times longer to start than with Java 8.
>>>> With Java 8 it takes between 3 and 4 seconds. With Java 11 it takes 25
>>>> seconds. I have some other functionality that also does a lot of logging
>>>> when the log level is set to trace, and in that case the performance
>>>> goes from seconds in Java 8 to several minutes in Java 11.
>>>>
>>>> I've tried various things to troubleshoot, and it appears to be
>>>> something related to Console logging that is causing the performance
>>>> issue. If I remove the Console Appenders from my configuration and leave
>>>> only the RollingFile Appenders, the problem goes away. If I do the
>>>> opposite and remove the RollingFile Appenders and leave the Console
>>>> Appenders, I see a tiny improvement in the performance, but it's still
>>>> way worse than in Java 8. So far I'm testing by running the application
>>>> through NetBeans. I haven't tried starting the application from a
>>>> Windows Command window yet. Running into some other issues doing that.
>>>>
>>>> Can anyone help me figure out if this is a log4j issue, or if there is
>>>> something I can change in how I'm using log4j with Java 11, so I can
>>>> resolve this issue?
>>>>
>>>> Thank you.
>>>>
>>>> Lisa Ruby
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>>>
>>>>
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>
>>

Reply via email to