This question should belong to Java threads rather than logback. Anyways, try tomcat.properties -> common.dir

-Amot
On 11/4/2012 2:04 PM, Gaurav Kumar wrote:
Any recommendations on where to place common jars used by all web applications in webapps dir but which will not be picked by jetty during its startup? also how to set this classpath in the web container?
Any help will be really appreciated.



On Thu, Nov 1, 2012 at 3:24 AM, [email protected] <mailto:[email protected]> <[email protected] <mailto:[email protected]>> wrote:

    What do you suggest would be a good location to place these jars
    in Jetty? I tried to put them into jetty/lib/etc but then jetty
    loads it up during jetty startup and creates other unwanted side
    effects. Is there a good place to locate these jars so jetty
    doesnt load them at its startup and only the wars from webapps
    location could pick them?



    Ralph Goers wrote:

    With each application having its own copy of slf4j and logback you
    are making it so each web app will have to have its own appenders
    writing to the file.  While Logback supports using prudent mode
    for this, I don't recommend it.  Instead, I would suggest that you
    move logback and slf4j out of the web apps an add them to a common
    classpath and then have them share the logging configuration. With
    that you should have no problem having multiple web apps write to
    the same file.


    On Oct 31, 2012, at 5:56 AM, Gaurav Kumar wrote:

    any suggestions will be really appreciated. I am totally stuck on
    this.


    On Tue, Oct 30, 2012 at 11:39 PM, Gaurav Kumar
    <[email protected] <mailto:[email protected]>> wrote:

        Hi,

        [Please ignore the previous email with the same subject line.
        That was accidentally posted.]


        I am using Jetty webserver and logback for logging.


        I have a scenario with multiple Web Applications (so multiple
        wars into jetty/webapps dir). Each war has its own copy of
        logback-classic, logback-core and slf4j-api. There is a
        common copy of logback.xml in jetty/resources (pasted below).
        My intent is to maintain a logfile named "testapp.<date>.log"
        which should be used by all the wars for logging. Further, I
        want a rollover of this file on every startup. I am able to
        achieve this except that each war is trying to create its own
        version of the log file so when each war is loaded it creates
        its own logfile archiving the earlier logfile created by the
        earlier war. This continues till all wars are loaded thus
        creating these many log files per startup. The archived files
        are are named "testapp.<date>.log.<time in millisec>.

        Is there a way to ask all wars to log into the same file?


        _*logback.xml file content:*_

        /<configuration>
          <timestamp key="dateStr" datePattern="yyyy-MM-dd"
        timeReference="contextBirth"/>-->
          <timestamp key="timeStr" datePattern="HHmmssSSS"
        timeReference="contextBirth"/>-->

          <appender name="STDOUT"
        class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
               <pattern>%date{MMM dd}, %date{yyyy hh:mm:ss a} %class
        %method\(\):%line %n%level: %message%n </pattern>
            </encoder>
          </appender>

          <appender name="FILE"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        /
        /<file>${jetty.home}/logs/testapp.${dateStr}.log</file>


            <rollingPolicy
        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
              <!-- daily rollover -->
        
<fileNamePattern>${jetty.home}/logs/testapp.%d{yyyy-MM-dd}.log.${timeStr}</fileNamePattern>



              <!-- keep max 30 rolled over files -->
        <maxHistory>30</maxHistory>
        <cleanHistoryOnStart>true</cleanHistoryOnStart>

              <!-- trigger for daily rollover and every server
        restart -->
        <timeBasedFileNamingAndTriggeringPolicy
        class="utils.*LogbackLogTriggeringPolicy*"/>

            </rollingPolicy>

            <encoder>
                <pattern>%date{MMM dd}, %date{yyyy hh:mm:ss a} %class
        %method\(\):%line %n%level: %message%n </pattern>
            </encoder>
          </appender>

          <root level="INFO">
            <appender-ref ref="FILE" />
          </root>
        </configuration>
        /


        *LogbackLogTriggeringPolicy.java is:*

        /@NoAutoStart
        public class LogbackLogTriggeringPolicy<E> extends
        DefaultTimeBasedFileNamingAndTriggeringPolicy<E> {
          @Override
              public void start() {
                  super.start();
                  nextCheck = 0L;
        /
        /          isTriggeringEvent(null, null);
                  try {
                      tbrp.rollover();
                  } catch (RolloverFailure e) {
                      //Do nothing
                  }
              }
        }
        /

        Thanks.



    _______________________________________________
    Logback-user mailing list
    [email protected] <mailto:[email protected]>
    http://mailman.qos.ch/mailman/listinfo/logback-user




_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user

_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user

Reply via email to