[logback-user] Jetty: How to get multiple web applications log to a common log file
Amit Mohan
amit.mohan at teamaol.com
Sun Nov 4 20:07:04 CET 2012
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, gaurav419 at gmail.com
> <mailto:gaurav419 at gmail.com> <gaurav419 at gmail.com
> <mailto:gaurav419 at gmail.com>> 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
>> <gaurav419 at gmail.com <mailto:gaurav419 at gmail.com>> 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
>> Logback-user at qos.ch <mailto:Logback-user at qos.ch>
>> http://mailman.qos.ch/mailman/listinfo/logback-user
>
>
>
>
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20121104/9949a4d7/attachment-0001.html>
More information about the Logback-user
mailing list