Hi!
If you're using Dropwizard 1.2.0 or higher, you can disable Dropwizard's
internal logging configuration mechanism and configure your logging with
logback.xml. Try something like that it in your configuration file:
server:
type: simple
applicationContextPath: /application
adminContextPath: /admin
requestLog:
type: externallogging:
type: external
Artem
Am Montag, 15. Januar 2018 20:17:06 UTC+1 schrieb tuk:
>
> Crossposting 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.
>
--
You received this message because you are subscribed to the Google Groups
"dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.