Good to know. Thanks Matt!

On Wed, Feb 17, 2021 at 4:12 PM Matt Sicker <boa...@gmail.com> wrote:

> FYI, the @Named injection has a default based on the parameter name
> you annotate, so if you make them match (case matters), then you have
> less to specify in the test.
>
> On Wed, 17 Feb 2021 at 08:10, <v...@apache.org> wrote:
> >
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > vy pushed a commit to branch release-2.x
> > in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
> >
> > commit dd1bec2364763c03b8a6a83e35457c4ad2804b65
> > Author: Volkan Yazici <volkan.yaz...@gmail.com>
> > AuthorDate: Wed Feb 17 15:10:59 2021 +0100
> >
> >     Test RecyclerFactory read from XML config.
> > ---
> >  .../template/json/util/RecyclerFactoriesTest.java  | 19 ++++++++++++++
> >  ...rFactoryCustomizedJsonTemplateLayoutLogging.xml | 30
> ++++++++++++++++++++++
> >  2 files changed, 49 insertions(+)
> >
> > diff --git
> a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactoriesTest.java
> b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactoriesTest.java
> > index 80824f1..1c7b439 100644
> > ---
> a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactoriesTest.java
> > +++
> b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactoriesTest.java
> > @@ -18,9 +18,15 @@ package
> org.apache.logging.log4j.layout.template.json.util;
> >
> >  import
> org.apache.logging.log4j.core.config.plugins.convert.TypeConverter;
> >  import
> org.apache.logging.log4j.core.config.plugins.convert.TypeConverterRegistry;
> > +import org.apache.logging.log4j.junit.LoggerContextSource;
> > +import org.apache.logging.log4j.junit.Named;
> > +import org.apache.logging.log4j.layout.template.json.JsonTemplateLayout;
> > +import org.apache.logging.log4j.test.appender.ListAppender;
> >  import org.assertj.core.api.Assertions;
> > +import org.jctools.queues.MpmcArrayQueue;
> >  import org.junit.jupiter.api.Test;
> >
> > +import java.lang.reflect.Field;
> >  import java.util.ArrayDeque;
> >  import java.util.concurrent.ArrayBlockingQueue;
> >
> > @@ -117,4 +123,17 @@ class RecyclerFactoriesTest {
> >
> >      }
> >
> > +    @Test
> > +
> @LoggerContextSource("recyclerFactoryCustomizedJsonTemplateLayoutLogging.xml")
> > +    void test_RecyclerFactoryConverter_using_XML_config(
> > +            final @Named(value = "List") ListAppender appender)
> > +            throws Exception {
> > +        final JsonTemplateLayout layout = (JsonTemplateLayout)
> appender.getLayout();
> > +        final Field field =
> JsonTemplateLayout.class.getDeclaredField("contextRecycler");
> > +        field.setAccessible(true);
> > +        final QueueingRecycler<?> contextRecycler =
> (QueueingRecycler<?>) field.get(layout);
> > +        final MpmcArrayQueue<?> queue = (MpmcArrayQueue<?>)
> contextRecycler.getQueue();
> > +        Assertions.assertThat(queue.capacity()).isEqualTo(512);
> > +    }
> > +
> >  }
> > diff --git
> a/log4j-layout-template-json/src/test/resources/recyclerFactoryCustomizedJsonTemplateLayoutLogging.xml
> b/log4j-layout-template-json/src/test/resources/recyclerFactoryCustomizedJsonTemplateLayoutLogging.xml
> > new file mode 100644
> > index 0000000..8fd8957
> > --- /dev/null
> > +++
> b/log4j-layout-template-json/src/test/resources/recyclerFactoryCustomizedJsonTemplateLayoutLogging.xml
> > @@ -0,0 +1,30 @@
> > +<?xml version="1.0" encoding="UTF-8"?>
> > +<!--
> > + Licensed to the Apache Software Foundation (ASF) under one or more
> > + contributor license agreements.  See the NOTICE file distributed with
> > + this work for additional information regarding copyright ownership.
> > + The ASF licenses this file to You under the Apache License, Version 2.0
> > + (the "License"); you may not use this file except in compliance with
> > + the License.  You may obtain a copy of the License at
> > +
> > +      http://www.apache.org/licenses/LICENSE-2.0
> > +
> > + Unless required by applicable law or agreed to in writing, software
> > + distributed under the License is distributed on an "AS IS" BASIS,
> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > + See the License for the specific language governing permissions and
> > + limitations under the License.
> > +-->
> > +<Configuration status="OFF">
> > +  <Appenders>
> > +    <List name="List" raw="true">
> > +      <JsonTemplateLayout
> > +
> recyclerFactory="queue:supplier=org.jctools.queues.MpmcArrayQueue.new,capacity=512"/>
> > +    </List>
> > +  </Appenders>
> > +  <Loggers>
> > +    <Root level="TRACE">
> > +      <AppenderRef ref="List"/>
> > +    </Root>
> > +  </Loggers>
> > +</Configuration>
> >
>

Reply via email to