<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">The way that the logback FAQ example
      for shared configuration for multiple JEE apps is written, it WILL
      create this superflous log file, application-name_IS_UNDEFINED.log
      (unless there is some system specific behavior involved in
      creating an empty file when the stream is opened). <br>
      <br>
      The way logback's slfj static logger binding mechanism is written
      it seems to be necessary to let it configure itself once before
      you can get a hold of the LoggerContext to configure it. It would
      be nice if there were a way to inject configuration behavior into
      StaticLoggerBinder so that it would use it, and not force you to
      do a second configuration the way both this example and the
      manual's "Invoking JoranConfigurator directly" example does it.<br>
      <br>
      This situation seems to have JMX implications too. In my case, I
      am setting my context name using a property the same way I am
      dynamically setting the log file names. When I look at that using
      the Java Management Console, I see a
      /application-nameIS_UNDEFINEDLogbackContext but no entry with my
      revised context name after the re-config.<br>
      <br>
      My workaround (for both the spurious log file and the context
      name) is to set application-name as a system property, instead of
      doing what the example code does. Perhaps the example should be
      changed to do that, though it would be nicer to be able to pass a
      property specifically to logback instead of sticking it in the
      global system property space.<br>
      <br>
      Cheers,<br>
      <br>
      Eric<br>
      <br>
      On 8/22/2012 3:38 PM, Eric Schwarzenbach wrote:<br>
    </div>
    <blockquote cite="mid:50353552.2010608@blackbrook.org" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <div class="moz-cite-prefix">I realized I needed to move my
        ServletContextListener above the Spring ContextLoaderListener in
        my web.xml. However it is still creating a
        application-name_IS_UNDEFINED.log, though an empty (0 byte) one.<br>
        <br>
        Putting a breakpoint on the ContextLoaderListener<b> </b>doConfigure


        methods, I see it is getting called as a result of the line <br>
        <br>
        LoggerContext context = (LoggerContext)
        LoggerFactory.getILoggerFactory(); <br>
        <br>
        (from the manual's example) via
        org.slf4j.impl.StaticLoggerBinder init method  (from the
        logback-classic.jar).<br>
        <br>
        Any suggestions how I can avoid that? Is there a better way to
        get the LoggerContext?<br>
        <br>
        Eric<br>
        <br>
        On 8/22/2012 2:53 PM, Eric Schwarzenbach wrote:<br>
      </div>
      <blockquote cite="mid:50352A98.9070105@blackbrook.org" type="cite">I'm

        trying to use variable substitution for my log file names, using
        the webapp / context name. (My use case is not literally a
        shared configuration, but two webapps deployed using copies of
        the same war with different names...so they each have their own
        logback.xml, though they are identical). I'm using the example
        on <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://logback.qos.ch/faq.html#sharedConfiguration">http://logback.qos.ch/faq.html#sharedConfiguration</a>
        as my basis, and while it is working, my webapp ends up creating
        two log files. <br>
        <br>
        First it creates one called application-name_IS_UNDEFINED.log
        with some of the first messages logged during startup, and then
        foo.log (where foo is the app name) with all subsequent
        messages. So it seems to me that the contextInitialized method
        of ServletContextListener isn't early enough, and that the
        default logback config is initializing earlier. This is using
        Tomcat 7, and Java 7. <br>
        <br>
        How can I either hook into the earlier initialization or replace
        it? Where does that initialization happen? Is that static code?
        <br>
        <br>
        Thanks, <br>
        <br>
        Eric <br>
        <br>
        _______________________________________________ <br>
        Logback-user mailing list <br>
        <a moz-do-not-send="true" class="moz-txt-link-abbreviated"
          href="mailto:Logback-user@qos.ch">Logback-user@qos.ch</a> <br>
        <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://mailman.qos.ch/mailman/listinfo/logback-user">http://mailman.qos.ch/mailman/listinfo/logback-user</a>
        <br>
        <br>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Logback-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Logback-user@qos.ch">Logback-user@qos.ch</a>
<a class="moz-txt-link-freetext" href="http://mailman.qos.ch/mailman/listinfo/logback-user">http://mailman.qos.ch/mailman/listinfo/logback-user</a></pre>
    </blockquote>
    <br>
  </body>
</html>