You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Amit Mondal (Jira)" <ji...@apache.org> on 2021/05/05 08:42:00 UTC

[jira] [Commented] (FELIX-6407) SCR Log Extension still logs using the log level of the extended bundle

    [ https://issues.apache.org/jira/browse/FELIX-6407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17339531#comment-17339531 ] 

Amit Mondal commented on FELIX-6407:
------------------------------------

PR - https://github.com/apache/felix-dev/pull/75

> SCR Log Extension still logs using the log level of the extended bundle
> -----------------------------------------------------------------------
>
>                 Key: FELIX-6407
>                 URL: https://issues.apache.org/jira/browse/FELIX-6407
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.1.24, scr-2.1.26
>            Reporter: Amit Mondal
>            Priority: Minor
>              Labels: pull-request-available
>
> The SCR incorporates 3 different types of logging:
>  * Logging for SCR main code (_*ScrLogger*_)
>  * Logging on behalf of the bundle comprising the SCR component (_*BundleLogger*_)
>  * Logging on behalf of the component under processing (_*ComponentLogger*_)
> According to the current implementation, the SCR logging is by default enabled and it logs using the log levels of the bundles comprising the SCR components. 
> This [PR|https://github.com/apache/felix-dev/pull/36] by [~pkriens] has been merged to introduce a non-OSGi standard extension which enables consumers to extend the SCR logging functionality, that is, a consumer can on demand set the log level of the SCR bundle itself which after setting a specific property (_*ds.log.extension*_) will be enabled. Now, SCR will be able to use the log level of itself for all the logging. It won't use the log levels of the bundles under processing.
> The specified SCR versions still log using the log levels of the bundles under processing even though _*ds.log.extension*_ framework property is correctly set.
> This feature to extend SCR logging is useful in very low memory IoT devices where many bundles (>200) are installed and SCR's intensive logging becomes very costly.
> The feature can further be extended to disable the logging completely. Hence, I am proposing the following approach:
> We should introduce another framework property to disable the SCR logging completely, let's say _*ds.log.enabled*_
> By default, this property will not be set which means the logging is enabled by default, otherwise consumer can decide to disable the logging by setting it to _*false*_
> If the logging is still enabled, the consumer now has two options:
>  * Use the log level of the extended bundle (bundle under processing)
>  * Use the log level of the SCR bundle itself
> If we decide to let SCR use its own log level, the _*ds.log.extension*_ needs to be set.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)