Hello

One of the reasons was that these pax-logging bundles usually start very
early. In Karaf they're in "startup" stage (== etc/startup.properties),
thus starting before even Features Service start.
That's how it worked since always and I didn't mean to change it.

regards
Grzegorz Grzybek

pt., 24 maj 2019 o 10:36 'Christoph Läubrich' via OPS4J <
[email protected]> napisał(a):

> But there is no need for starting these bundles. If you don't start them
> the activator won't be executed but pax-logging can still use the
> classes from them.
> And if there are still issues, why not fix them in log4j instead of
> providing an own repacked version?
>
> I just wan't to point out that instead of embedding required classes for
> pax-logging just importing the packages with proper version range would
> be better. pax-logging can still provide the required service/spi on top
> of it.
>
> Am 24.05.19 um 06:51 schrieb Grzegorz Grzybek:
> > Hello
> >
> > Yes - in ideal world, every jar in Maven Central should be OSGi bundle
> > and every closure of dependencies should be consistent.
> > Also, everyone forced to use OSGi hates it and switches to beautiful
> > one-line µservices written in go-lang.
> > </sarcasm>
> >
> > org.apache.logging.log4j:log4j-api and log4j-core (log4j2) are indeed
> > OSGi bundles, but with own activators that do something not related to
> > pax-logging.
> > Also nothing in Log4J2 implements org.osgi.service.log.LogService.
> >
> > log4j-core does for example this:
> >
> > private static void scanInstalledBundlesForPlugins(final BundleContext
> > context) {
> >      final Bundle[] bundles = context.getBundles();
> >      for (final Bundle bundle : bundles) {
> > *        // TODO: bundle state can change during this*
> >          scanBundleForPlugins(bundle);
> >      }
> > }
> >
> > As for pax-logging, Niclas - since last email I wrote >60 integration
> > tests that check various assumptions you probably made when starting
> > this project. There are tests for example that check how a piece of code
> > using loggers from different frameworks/facades (JCL, JUL, Slf4J, JULI,
> > Avalon, Log4j1 "api", ...) behaves when pax-logging-api or
> > pax-logging-<backend> (or both) bundles are restarted/refreshed.
> > There are tests for extending log4j1/logback (log4j2 tests coming soon)
> > via org.ops4j.pax.logging.spi interfaces or via fragments that just
> > contain e.g., classes inheriting the Appender interface(s) (or filters,
> > or error handlers, or layouts).
> >
> > I'm getting more confident about pax-logging architecture and approach.
> >
> > Soon we'll (Jean Baptiste Onofre is working on it) get R7 support
> > (org.osgi.service.log 1.4).
> >
> >     Whether or not this goal has been maintained is unknown to me, I
> >     don't know if it stills hold true for the original implementation,
> >     and no idea if the log4j2 and logback impls have tried.
> >
> >
> > It holds. Both for log4j1 and logback and I'm just finishing to ensure
> > that it's working for log4j2 too.
> > Private-Packaging without exporting of classes from "impl" jars (indeed
> > it wasn't easy with log4j1) was and still is (IMO) good idea.
> >
> > The fact that something is OSGi bundle, doesn't mean that original
> > author took care of everything. For example log4j2 has "log4j-osgi"
> > subproject, but it's simply:
> >   - org.apache.logging.log4j.osgi.tests.felix.FelixLoadApiBundleTest
> >   - org.apache.logging.log4j.osgi.tests.equinox.EquinoxLoadApiBundleTest
> >
> > both these "tests" just install log4j-api, log4j-core, log4j-samples and
> > log4j-1.2-api.
> >
> > best regards
> > Grzegorz Grzybek
> >
> > pt., 24 maj 2019 o 04:13 Niclas Hedhman <[email protected]
> > <mailto:[email protected]>> napisał(a):
> >
> >
> >     Just because someone added a BND descriptor to Maven/Gradle, doesn't
> >     mean that the library is OSGi-capable, let alone OSGi-friendly.
> >     Please see https://articles.qos.ch/classloader.html for the starting
> >     point, and although the article discusses Java EE classloading, the
> >     OSGi scenario isn't any better for many libraries out there. Pax
> >     Logging made an attempt at overcoming the issues for all logging
> >     frameworks when running in OSGi, and it was a particularly
> >     meticulous beginning, when I ensured that nothing was left behind in
> >     the class space and that one should even be able to replace the
> >     pax-logging-service without stopping all the bundles, i.e. the whole
> >     app. Whether or not this goal has been maintained is unknown to me,
> >     I don't know if it stills hold true for the original implementation,
> >     and no idea if the log4j2 and logback impls have tried.
> >
> >     Almost all the 'embedding', and more importantly the replacements,
> >     have origins in the above.
> >
> >     Niclas
> >
> >     On Thu, May 23, 2019 at 2:50 PM 'Christoph Läubrich' via OPS4J
> >     <[email protected] <mailto:[email protected]>> wrote:
> >
> >         WHat is teh reason for merging the META-INF at all?
> >         Beside that why embeeed log4j at all if it is already an OSGi
> >         Bundle?
> >
> >         I think that people do embeed a way to much stuff in the OSGi
> >         world that
> >         does not make sense. Embedding should only be used if the lib is
> >         not an
> >         OSGi-Jar (where I prefere to open a PR on the project ot add the
> >         required headers).
> >         In all other cases a proper version import does the job much
> better
> >         beside the fact that embedding might cuase problems with
> >         licensing and
> >         maintaining stuff (e.g. security updates).
> >
> >         Am 22.05.19 um 17:21 schrieb Grzegorz Grzybek:
> >          > Hello
> >          >
> >          > (sorry for writing to two mailing lists, but I think it's
> >         important).
> >          >
> >          > I've just found nasty problem.
> >          >
> >          > After having lots of fun with pax-logging-service and
> >          > pax-logging-logback I wanted to clean up pax-logging-log4j2.
> >         But I found
> >          > that original, already available pax-logging-log4j2 bundle
> >         actually has
> >          > Export-Package header (pax-logging-service and
> >         pax-logging-logback don't
> >          > export anything).
> >          >
> >          > The strange thing was that all bundles have:
> >          >
> >          > Export-Package: \
> >          >   !*
> >          >
> >          > The difference is that pax-logging-log4j2 additionally has
> >          >
> >         <
> https://github.com/ops4j/org.ops4j.pax.logging/blob/b8c9137/pax-logging-log4j2/osgi.bnd#L5
> >:
> >          >
> >          > Private-Package: \
> >          > ...
> >          > META-INF; -split-package:=merge-first, \
> >          > ...
> >          >
> >          > So it ... took the META-INF/MANIFEST.MF from
> >          > org.apache.logging.log4j:log4j-core. It wouldn't be a problem
> if
> >          > pax-logging-log4j2 exported something - even single package.
> >          >
> >          > Here's why
> >          >
> >         <
> https://github.com/bndtools/bnd/blob/4.2.0.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java#L1063-L1065
> >
> >
> >          > (aQute.lib.osgi.Analyzer#calcManifest()):
> >          >
> >          > // Copy old values into new manifest, when they
> >          > // exist in the old one, but not in the new one
> >          > merge(manifest, dot.getManifest());
> >          >
> >          > pax-logging-log4j2 bundle didn't have any Export-Package (as
> >         intended),
> >          > so it just inherited it from
> org.apache.logging.log4j:log4j-core
> >          > (definitely *not* as intended...).
> >          >
> >          > This is related to
> >         https://ops4j1.jira.com/browse/PAXLOGGING-240 and the
> >          > discussion here[1].
> >          >
> >          > To be honest, the only thing I think is sensible here is to
> stop
> >          > exporting anything from pax-logging-log4j2... Extensions
> >         should be done
> >          > via fragments or pax-logging-api's org.ops4j.pax.logging.spi
> >         interfaces
> >          > (like PaxAppender).
> >          >
> >          > WDYT?
> >          >
> >          > regards
> >          > Grzegorz Grzybek
> >          > ===
> >          > [1]:
> >
> https://groups.google.com/forum/#!msg/ops4j/yjqOzvrKRkc/t5BXmfyoBgAJ
> >          >
> >          > --
> >          > --
> >          > ------------------
> >          > OPS4J - http://www.ops4j.org - [email protected]
> >         <mailto:[email protected]>
> >          >
> >          > ---
> >          > You received this message because you are subscribed to the
> >         Google
> >          > Groups "OPS4J" group.
> >          > To unsubscribe from this group and stop receiving emails from
> >         it, send
> >          > an email to [email protected]
> >         <mailto:ops4j%[email protected]>
> >          > <mailto:[email protected]
> >         <mailto:ops4j%[email protected]>>.
> >          > To view this discussion on the web visit
> >          >
> >
> https://groups.google.com/d/msgid/ops4j/CAAdXmhr1W2_3y56mpUUiErHFgKs13jFb2bd4CoC0rvcfaE9M8A%40mail.gmail.com
> >
> >          >
> >         <
> https://groups.google.com/d/msgid/ops4j/CAAdXmhr1W2_3y56mpUUiErHFgKs13jFb2bd4CoC0rvcfaE9M8A%40mail.gmail.com?utm_medium=email&utm_source=footer
> >.
> >          > For more options, visit https://groups.google.com/d/optout.
> >
> >         --
> >         --
> >         ------------------
> >         OPS4J - http://www.ops4j.org - [email protected]
> >         <mailto:[email protected]>
> >
> >         ---
> >         You received this message because you are subscribed to the
> >         Google Groups "OPS4J" group.
> >         To unsubscribe from this group and stop receiving emails from
> >         it, send an email to [email protected]
> >         <mailto:ops4j%[email protected]>.
> >         To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ops4j/39649881-6014-cf4b-323c-dfcf045f35a5%40googlemail.com
> .
> >         For more options, visit https://groups.google.com/d/optout.
> >
> >
> >
> >     --
> >     Niclas Hedhman, Software Developer
> >     http://polygene.apache.org - New Energy for Java
> >
> >     --
> >     --
> >     ------------------
> >     OPS4J - http://www.ops4j.org - [email protected]
> >     <mailto:[email protected]>
> >
> >     ---
> >     You received this message because you are subscribed to the Google
> >     Groups "OPS4J" group.
> >     To unsubscribe from this group and stop receiving emails from it,
> >     send an email to [email protected]
> >     <mailto:[email protected]>.
> >     To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ops4j/CADmm%2BKf1FMysGrKFMM4DqTTKbsxx9skXDf8yZUPnF_tCMdYfUg%40mail.gmail.com
> >     <
> https://groups.google.com/d/msgid/ops4j/CADmm%2BKf1FMysGrKFMM4DqTTKbsxx9skXDf8yZUPnF_tCMdYfUg%40mail.gmail.com?utm_medium=email&utm_source=footer
> >.
> >     For more options, visit https://groups.google.com/d/optout.
> >
> > --
> > --
> > ------------------
> > OPS4J - http://www.ops4j.org - [email protected]
> >
> > ---
> > You received this message because you are subscribed to the Google
> > Groups "OPS4J" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> > an email to [email protected]
> > <mailto:[email protected]>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ops4j/CAAdXmhop9sFb8FP8L2cy_S8GeT5x72v51ouNAaOD5Wxbgk21Kw%40mail.gmail.com
> > <
> https://groups.google.com/d/msgid/ops4j/CAAdXmhop9sFb8FP8L2cy_S8GeT5x72v51ouNAaOD5Wxbgk21Kw%40mail.gmail.com?utm_medium=email&utm_source=footer
> >.
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> --
> ------------------
> OPS4J - http://www.ops4j.org - [email protected]
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OPS4J" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ops4j/0b5bffa8-4254-f955-2529-9211e37276be%40googlemail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/CAAdXmhpA%2B2TW4zKZ_TWb_5S3GPM-cf%2BNu04sG5a8FxCdG4EY%3DQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to