>> If you buffer you always have temporal inconsistency, no matter what. > That I do not understand? > I don't see what is hard to understand. The log record arrives at the > appender long after it was reported. Which you may not care too much about. > But sometimes it's a pain in the backside. But there is no guarantee when it arrives in the appender anyway? And as long as it is properly serialized what would the problem be?
>> The solution I like is DON'T buffer.
> Then you have ordering problems.
> There's no ordering issue when logging is setup with the framework.
Nope, because you took care of it. It is still there lurking to bite you though
:-)
> The only way NOT to buffer is make sure the log service starts with an
> appender immediately. That's what the "immediate" logging approach provides.
> It puts the log service setup and configuration immediately at the framework
> level so that no buffering is used or required.
> That is a good solution but it makes logging extremely 'special'. Agree this
> is a very foundational service but losing the possibility to have appenders
> in bundles is a pretty big thing.
> Logging IS special. We all know that and there's no use pretending,
> otherwise, we WOULD have solved this long ago.
Yes, and I am special too ... :-) And so is every developer's bundle I've seen
in my life ...
>> Logging is an infrastructure detail unlike any other. It really must be
>> bootstrapped with the runtime as early as possible. It's not ideal to handle
>> it at the module layer, so I propose not to (thought it still integrates
>> nicely with any bundle based logging APIs as demonstrated in the Felix
>> logback integration tests).
> The problem with this approach is that it is also true for configuration
> admin, and DS, and event admin, etc. etc. They are all infrastructure and
> they all have ordering issues. Going down your route is imho a slippery
> slope. Before you know you're back to a completely static model. And maybe
> that is not bad, I just prefer a solution where I can debug all day on the
> same framework that is never restarted. I also dislike hybrids since they
> tend to become quite complex to handle on other levels.
> There's nothing in the immediate model that prevents from debugging all day
> without restarts, that's just hyperbole. Logback supports configuration file
> updates (if you like), so you can tweak and flex those loggers/appenders any
> way you like at runtime (if you like).
Yes, of course you can, don't expect anything else. But each of those actions
requires _completely_ different handling than the unified OSGi solution to
those problems ...
Don't get me wrong, I understand that you have to live in the existing mess of
Java and life is tough there. I probably would do the same in your shoes.
However, I think it would be a pity that out of pragmatism we forget that an
insane amount of problems are caused by our strenuous desire for backward
compatibility.
Kind regards,
Peter Kriens
>
> Sincerely,
> - Ray
>
>
> Kind regards,
>
> Peter Kriens
>
>
>>
>> Sincerely,
>> - Ray
>>
>>
>> This issue, the problem of startup dependencies and configuration… Maybe
>> there is something missing in the spec in terms of some kind of "boot
>> service” that would handle these “common” problems. If the problems are so
>> common, then maybe it is a sign of a gap in the specs… Just a thought.
>>
>>
>> Anyway, thanks!
>> =David
>>
>>
>>
>>> On Aug 27, 2018, at 22:19, Raymond Auge <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> There's setup details in the integration tests [1]
>>>
>>> HTH
>>> - Ray
>>>
>>> [1] https://github.com/apache/felix/tree/trunk/logback/itests
>>> <https://github.com/apache/felix/tree/trunk/logback/itests>
>>>
>>> On Mon, Aug 27, 2018 at 9:15 AM, Raymond Auge <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> My personal favourite is the Apache Felix Logback [1] integration which
>>> supports immediate logging when follow the correct steps. I feel it's the
>>> best logging solution available.
>>>
>>> There are a couple of prerequisites as outlined in the documentation. But
>>> it's very simple to achieve your goal (NO BUFFERING OR MISSED LOG RECORDS)!
>>>
>>> [1]
>>> http://felix.apache.org/documentation/subprojects/apache-felix-logback.html
>>> <http://felix.apache.org/documentation/subprojects/apache-felix-logback.html>
>>>
>>> - Ray
>>>
>>> On Mon, Aug 27, 2018 at 7:50 AM, BJ Hargrave via osgi-dev
>>> <[email protected] <mailto:[email protected]>> wrote:
>>> Equinox has the LogService implementation built into the framework, so it
>>> starts logging very early.
>>>
>>> In the alternate, for framework related information, you can write your own
>>> launcher and it can add listeners for the framework event types.
>>> --
>>>
>>> BJ Hargrave
>>> Senior Technical Staff Member, IBM // office: +1 386 848 1781
>>> OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788
>>> [email protected] <mailto:[email protected]>
>>>
>>>
>>> ----- Original message -----
>>> From: David Leangen via osgi-dev <[email protected]
>>> <mailto:[email protected]>>
>>> Sent by: [email protected]
>>> <mailto:[email protected]>
>>> To: [email protected] <mailto:[email protected]>
>>> Cc:
>>> Subject: [osgi-dev] Logger at startup
>>> Date: Sun, Aug 26, 2018 3:06 PM
>>>
>>> Hi!
>>>
>>> I’m sure that this question has been asked before, but I did not
>>> successfully find an answer anywhere. It applies to both R6 and R7 logging.
>>>
>>> I would like to set up diagnostics so I can figure out what is happening
>>> during system startup. however, by the time the logger starts, I have
>>> already missed most of the messages that I needed to receive and there is
>>> no record of the things I want to see. Another oddity is that even after
>>> the logger has started, some messages are not getting logged. I can only
>>> assume that there is some concurrency/dynamics issue at play.
>>>
>>> In any case, other than using start levels, is there a way of ensuring that
>>> the LogService (or Logger) is available when I need it?
>>>
>>>
>>> Thanks!
>>> =David
>>>
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> [email protected] <mailto:[email protected]>
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>>>
>>>
>>>
>>> _______________________________________________
>>> OSGi Developer Mail List
>>> [email protected] <mailto:[email protected]>
>>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>>>
>>>
>>>
>>> --
>>> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
>>> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/>
>>> (@OSGiAlliance)
>>>
>>>
>>>
>>> --
>>> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
>>> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/>
>>> (@OSGiAlliance)
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> [email protected] <mailto:[email protected]>
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>>
>>
>>
>> --
>> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
>> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance)
>> _______________________________________________
>> OSGi Developer Mail List
>> [email protected] <mailto:[email protected]>
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
>
>
>
> --
> Raymond Augé <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000)
> Senior Software Architect Liferay, Inc. <http://www.liferay.com/> (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org/> (@OSGiAlliance)
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
