Hi

I am new to Tomcat & logback.

I have this 1st scenario:

1) Webapp-A and Webapp-B deployed in Tomcat 5.5.25 running in Windows XP Pro
as a windows service. -Dlogback.ContextSelector=JNDI is properly configured
in JAVA_OTPS

2)  Under WEB-INF\lib in both webapps 
logback-classic-0.9.9.jar
logback-core-0.9.9.jar
slf4j-api-1.5.0.jar

3) Under WEB-INF\classes 
3.1) logback-Webapp-A.xml

<configuration>
       
    <appender name="FILE"
       class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>Webapp-A.log</File>
        <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>
                Webapp-A-%d{dd-MM-yyyy-HH}.log
            </FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                [%d{dd-MM-yyyy HH:mm:ss.SSS}] [%-5level %logger.%M] - %msg%n
            </Pattern>
        </layout>
    </appender>
           
    <appender name="STDOUT"
              class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss} %X{host} %-5level %logger -
%msg%n</Pattern>
        </layout>
    </appender>
    
    <root>
        <level value="debug" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
    
</configuration>

3.2) logback-Webapp-B.xml

<configuration>
        
    <appender name="FILE"
       class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>Webapp-B.log</file>
        <rollingPolicy
            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>
                Webapp-B-%d{dd-MM-yyyy-HH}.log
            </FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                [%d{dd-MM-yyyy HH:mm:ss.SSS}] [%-5level %logger.%M] - %msg%n
            </Pattern>
        </layout>
    </appender>
    
    <appender name="STDOUT"
              class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss} %X{host} %-5level %logger -
%msg%n</Pattern>
        </layout>
    </appender>
    
    <root>
        <level value="debug" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
    
</configuration>

4) Under WEB-INF
4.1) web.xml

    <display-name>WebApp-A</display-name>
    
    <!-- Used when testing multiple contexts -->
    <env-entry>
        <description>JNDI logging context for this app</description>
        <env-entry-name>logback/context-name</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>WebApp-A</env-entry-value>
    </env-entry>
    
    <env-entry>
        <description>URL for configuring logback context</description>
        <env-entry-name>logback/configuration-resource</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>logback-Webapp-A.xml</env-entry-value>
    </env-entry>

4.2) web.xml

    <display-name>WebApp-B</display-name>
    
    <!-- Used when testing multiple contexts -->
    <env-entry>
        <description>JNDI logging context for this app</description>
        <env-entry-name>logback/context-name</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>WebApp-B</env-entry-value>
    </env-entry>
    
    <env-entry>
        <description>URL for configuring logback context</description>
        <env-entry-name>logback/configuration-resource</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>logback-Webapp-B.xml</env-entry-value>
    </env-entry>

Results:
- Log output is shown at STDOUT appender correctly (stdout_<date>.log of
Tomcat)
- Only WebApp-B.log is created in <TOMCAT_HOME> directory with the output
from both webapps

I have this 2nd scenario:
1) Deploy same war files in Tomcat 6.0.14. I start it from cmd line with
startup.bat

Now results are different:
- Log output is shown at STDOUT appender correctly (TOMCAT window console)
- Webapp-A.log and Webapp-B.log are created correctly under
<TOMCAT_HOME>\bin

My question is: 

- I thought I will be able to get Webapp-A.log and Webapp-B.log correctly
both in <TOMCAT_HOME>\webapps\Webapp-A and <TOMCAT_HOME>\webapps\Webapp-B
directories, respectively but I getting the behaviour explained before.

Please, Could you give me some light on this?

Thanks a lot for your help and to all logback developers.
-- 
View this message in context: 
http://www.nabble.com/Context-selector-behaves-differently-in-two-webapps-deployed-in-different-Tomcat-versions-tp16370144p16370144.html
Sent from the Logback User mailing list archive at Nabble.com.

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

Reply via email to