Discussion:
To eat a cake and have it too, or supporting old and new log4net
hammett
2014-05-06 15:47:07 UTC
Permalink
Are we dead sure that binding redirects wont do the trick? Because
ordinarily they should work (unless the log4net public api changed)
which would render this effort pointless.

On Mon, May 5, 2014 at 8:50 PM, Krzysztof Kozmic
Yes, the types are identical, in both namespaces, the only difference being
the version of log4net they use.
Having slept on this, I have some more thoughts.
1. Should old log4net still be the default (perhaps we should move old
log4net to a subnamespace. This is a breaking change though?
2. How about we just upgrade the dependency to new log4net, letting people
use old version of log4net-integration if they want to use old log4net. At
least, since our assembly is signed with the same key, they should be able
to control it through assembly redirect
3. There’s also the question of how we integrate that into Windsor and
logging facility, which would be highly influenced by the previous two
points.
--
Krzysztof Kozmic
Date: 6 May 2014 at 2:22:27 am
Subject: Re: To eat a cake and have it too, or supporting old and new
log4net
So for someone configuring the container through a config file, all
she has to do is to add the suffix .log4net2?
+1
On Mon, May 5, 2014 at 9:06 AM, Krzysztof Kozmic
https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
To post to this group, send email to
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
Kelly Leahy
2014-05-06 17:22:55 UTC
Permalink
I suspect that the API did change, in which case the approach Krzysztof is
recommending is a solution to that problem (not pointless) that I've used
in our own projects in the past to deal with multiple supported APIs in the
same assembly name.

Of course, as you mentioned, binding redirects won't work if there are API
changes.
Post by hammett
Are we dead sure that binding redirects wont do the trick? Because
ordinarily they should work (unless the log4net public api changed)
which would render this effort pointless.
On Mon, May 5, 2014 at 8:50 PM, Krzysztof Kozmic
Yes, the types are identical, in both namespaces, the only difference
being
the version of log4net they use.
Having slept on this, I have some more thoughts.
1. Should old log4net still be the default (perhaps we should move old
log4net to a subnamespace. This is a breaking change though?
2. How about we just upgrade the dependency to new log4net, letting
people
use old version of log4net-integration if they want to use old log4net.
At
least, since our assembly is signed with the same key, they should be
able
to control it through assembly redirect
3. There’s also the question of how we integrate that into Windsor and
logging facility, which would be highly influenced by the previous two
points.
--
Krzysztof Kozmic
Date: 6 May 2014 at 2:22:27 am
Subject: Re: To eat a cake and have it too, or supporting old and new
log4net
So for someone configuring the container through a config file, all
she has to do is to add the suffix .log4net2?
+1
On Mon, May 5, 2014 at 9:06 AM, Krzysztof Kozmic
https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google
Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send
an
To post to this group, send email to
Visit this group at http://groups.google.com/group/castle-project-devel
.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
To post to this group, send email to
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
.
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
hammett
2014-05-06 21:22:26 UTC
Permalink
Ok, since they did change, Kryzs +1
Post by Kelly Leahy
I suspect that the API did change, in which case the approach Krzysztof is
recommending is a solution to that problem (not pointless) that I've used in
our own projects in the past to deal with multiple supported APIs in the
same assembly name.
Of course, as you mentioned, binding redirects won't work if there are API
changes.
Post by hammett
Are we dead sure that binding redirects wont do the trick? Because
ordinarily they should work (unless the log4net public api changed)
which would render this effort pointless.
On Mon, May 5, 2014 at 8:50 PM, Krzysztof Kozmic
Yes, the types are identical, in both namespaces, the only difference being
the version of log4net they use.
Having slept on this, I have some more thoughts.
1. Should old log4net still be the default (perhaps we should move old
log4net to a subnamespace. This is a breaking change though?
2. How about we just upgrade the dependency to new log4net, letting people
use old version of log4net-integration if they want to use old log4net. At
least, since our assembly is signed with the same key, they should be able
to control it through assembly redirect
3. There’s also the question of how we integrate that into Windsor and
logging facility, which would be highly influenced by the previous two
points.
--
Krzysztof Kozmic
Date: 6 May 2014 at 2:22:27 am
Subject: Re: To eat a cake and have it too, or supporting old and new
log4net
So for someone configuring the container through a config file, all
she has to do is to add the suffix .log4net2?
+1
On Mon, May 5, 2014 at 9:06 AM, Krzysztof Kozmic
https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
To post to this group, send email to
Visit this group at
http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
To post to this group, send email to
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
To post to this group, send email to
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
Krzysztof Kozmic
2014-05-05 23:50:05 UTC
Permalink
Yes, the types are identical, in both namespaces, the only difference being the version of log4net they use.

Having slept on this, I have some more thoughts.

1. Should old log4net still be the default (perhaps we should move old log4net to a subnamespace. This is a breaking change though?
2. How about we just upgrade the dependency to new log4net, letting people use old version of log4net-integration if they want to use old log4net. At least, since our assembly is signed with the same key, they should be able to control it through assembly redirect
3. There’s also the question of how we integrate that into Windsor and logging facility, which would be highly influenced by the previous two points.

-- 
Krzysztof Kozmic

From: hammett hammett-***@public.gmane.org
Reply: castle-project-devel-/***@public.gmane.org castle-project-***@googlegroups.com
Date: 6 May 2014 at 2:22:27 am
To: castle-project-devel-/***@public.gmane.org castle-project-***@googlegroups.com
Subject:  Re: To eat a cake and have it too, or supporting old and new log4net

So for someone configuring the container through a config file, all
she has to do is to add the suffix .log4net2?

+1

On Mon, May 5, 2014 at 9:06 AM, Krzysztof Kozmic
Looking for feedback on this: https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/

--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
Johannes Gustafsson
2014-05-05 16:12:32 UTC
Permalink
Why not using runtime binding instead? Like this:
https://github.com/Particular/NServiceBus/blob/develop/src/NServiceBus.Core/Logging/Loggers/Log4NetAdapter/Log4NetLogger.cs
First off, this is definitely super useful. The log4net dependency
versioning has always been a sour spot on any given framework or library
depending on it.
I'm now on the phone right now so I can't really see details.
How similar are the implementations? Could we base these files on t4
templates or something of sorts?
Sent from my Windows Phone
------------------------------
Sent: ‎5/‎5/‎2014 5:06 AM
Subject: To eat a cake and have it too, or supporting old and new log4net
https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
.
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
.
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
Ken Egozi
2014-05-05 15:09:30 UTC
Permalink
First off, this is definitely super useful. The log4net dependency
versioning has always been a sour spot on any given framework or library
depending on it.

I'm now on the phone right now so I can't really see details.

How similar are the implementations? Could we base these files on t4
templates or something of sorts?




Sent from my Windows Phone
------------------------------
From: Krzysztof Kozmic <krzysztof.kozmic-***@public.gmane.org>
Sent: ‎5/‎5/‎2014 5:06 AM
To: castle-project-devel-/***@public.gmane.org
Subject: To eat a cake and have it too, or supporting old and new log4net

Looking for feedback on this: https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
hammett
2014-05-05 16:22:25 UTC
Permalink
So for someone configuring the container through a config file, all
she has to do is to add the suffix .log4net2?

+1

On Mon, May 5, 2014 at 9:06 AM, Krzysztof Kozmic
Looking for feedback on this: https://github.com/castleproject/Core/pull/53
--
Krzysztof Kozmic
--
You received this message because you are subscribed to the Google Groups
"Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
--
Cheers,
hammett
http://www.d-collab.com/
http://www.hammettblog.com/
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to castle-project-devel+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
To post to this group, send email to castle-project-devel-/JYPxA39Uh5TLH3MbocFF+G/***@public.gmane.org
Visit this group at http://groups.google.com/group/castle-project-devel.
For more options, visit https://groups.google.com/d/optout.
Loading...