[slf4j-user] Fwd: SLF4J Warning - Loggers will not work as they were created during initialization phase
Debraj Manna
subharaj.manna at gmail.com
Mon Jan 15 20:14:17 CET 2018
---------- Forwarded message ----------
From: Debraj Manna <subharaj.manna at gmail.com>
Date: Tue, Jan 16, 2018 at 12:30 AM
Subject: SLF4J Warning - Loggers will not work as they were created during
initialization phase
To: slf4j-user at qos.ch
Cross-posting from stackoverflow
<https://stackoverflow.com/questions/48268724/slf4j-warning-loggers-will-not-work-as-they-were-created-during-initialization>
I am using slf4j with logback in a dropwizard application. During the
application initialization I am seeing logs like below
SLF4J: The following loggers will not work because they were created
SLF4J: during the default configuration phase of the underlying logging system.
SLF4J: See also http://www.slf4j.org/codes.html#substituteLogger
SLF4J: com.vnera.healthandmetrics.VneraMetrics
I am using logback.xml with my dropwizard application. My code flow looks
like below
public class VneraMetrics {
private static final Logger logger =
LoggerFactory.getLogger(VneraMetrics.class);
...
// This method is getting called from Service.run() during the
dropwizard application initialization
public String getSomeValue() {
// logger is not accessed from this function
return "Some initialized value";
}}
public class Service extends Application<Conf> {
public static final Logger logger = LoggerFactory.getLogger(Service.class);
public static void main(String args[]) {
logger.info("Some logs");
Service service = new Service();
service.run(dropWizardArgs);
Utils.reloadLogger();
}}
Utils.reloadLogger() is loading the loggback configuration as discussed here
public static void reloadLogger() {
String loggingConfig = System.getProperty("logback.configurationFile");
if(loggingConfig == null) {
System.out.println("Logging Config is null");
}
LoggerContext loggerContext = (LoggerContext)
LoggerFactory.getILoggerFactory();
loggerContext.reset();
JoranConfigurator configurator = new JoranConfigurator();
try {
InputStream configStream = FileUtils.openInputStream(new
File(loggingConfig));
configurator.setContext(loggerContext);
configurator.doConfigure(configStream); // loads logback file
configStream.close();
System.out.println("Loaded configuration file");
} catch (JoranException | IOException e) {
e.printStackTrace();
System.out.println("Failed to log configuration file");
System.exit(1);
}
}}
*Versions*
- Logback - 1.2.3
- Dropwizard - 1.0.2
Can some one let me know what does the SLF4J warning denotes? I have seen
the substituteLogger <http://www.slf4j.org/codes.html#substituteLogger> page
but this does not mention how can I get around this? On trying to use
logger in VneraMetrics it is not printing anything.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/slf4j-user/attachments/20180116/90034857/attachment-0001.html>
More information about the slf4j-user
mailing list