You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2018/08/13 09:46:00 UTC

[jira] [Resolved] (FELIX-5904) SCR is creating a logger instance using name "null"

     [ https://issues.apache.org/jira/browse/FELIX-5904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler resolved FELIX-5904.
-------------------------------------
    Resolution: Fixed

Thanks

> SCR is creating a logger instance using name "null"
> ---------------------------------------------------
>
>                 Key: FELIX-5904
>                 URL: https://issues.apache.org/jira/browse/FELIX-5904
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.1.6
>            Reporter: Alexandre Roman
>            Assignee: Carsten Ziegeler
>            Priority: Blocker
>             Fix For: scr-2.1.6
>
>
> When using LogService 1.2 from OSGi r7 together with SCR 2.1.4, the following error happens:
> {{org.osgi.framework.BundleException: Activator start error in bundle org.apache.felix.scr [8].}}
> {{ at org.apache.felix.framework.Felix.activateBundle(Felix.java:2448)}}
> {{ at org.apache.felix.framework.Felix.startBundle(Felix.java:2304)}}
> {{ at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1535)}}
> {{ at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)}}
> {{ at java.lang.Thread.run(Thread.java:748)}}
> {{Caused by: java.lang.NullPointerException}}
> {{ at org.apache.felix.log.RootLoggerContextImpl.getEffectiveLogLevel(RootLoggerContextImpl.java:53)}}
> {{ at org.apache.felix.log.LoggerContextImpl.getEffectiveLogLevel(LoggerContextImpl.java:70)}}
> {{ at org.apache.felix.log.LoggerImpl.isErrorEnabled(LoggerImpl.java:216)}}
> {{ at org.apache.felix.scr.impl.logger.R7LogServiceLogger.isLogEnabled(R7LogServiceLogger.java:48)}}
> {{ at org.apache.felix.scr.impl.logger.AbstractLogger.isLogEnabled(AbstractLogger.java:72)}}
> {{ at org.apache.felix.scr.impl.logger.AbstractLogger.log(AbstractLogger.java:110)}}
> {{ at org.apache.felix.scr.impl.Activator.restart(Activator.java:143)}}
> {{ at org.apache.felix.scr.impl.config.ScrConfigurationImpl.configure(ScrConfigurationImpl.java:213)}}
> {{ at org.apache.felix.scr.impl.config.ScrConfigurationImpl.start(ScrConfigurationImpl.java:118)}}
> {{ at org.apache.felix.scr.impl.Activator.start(Activator.java:100)}}
> {{ at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)}}
> {{ at org.apache.felix.framework.Felix.activateBundle(Felix.java:2398)}}
> {{ ... 4 more}}
> It looks like SCR is trying to create a Logger instance through LoggerFactory with name=null.
> Specs from OSGi r7 do not clearly specify what happens when the logger name is null.
> The LogService implementation from Felix does not check whether the value is null or not. I think this behaviour is normal: one should not expect a method to work normally if nothing in the documentation say anything about nullability.
> The Logger instance is created from R7LogServiceLogger, which is created by LogServiceSupport#getLogger. This instance is internally used by the bundle.
> I think a default logger name should be set for this internal logger.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)