blob: 69ffb3f1d467bb53b5eac1ff09fd0179ed96ec44 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configuration scan="true">
<define name="MARMOTTA_HOME" class="org.apache.marmotta.platform.core.services.logging.LMFLogbackPropertyDefiner">
<key>marmotta.home</key>
</define>
<define name="DEBUG" class="org.apache.marmotta.platform.core.services.logging.LMFLogbackPropertyDefiner">
<key>debug.enabled</key>
</define>
<!-- the LMF main log, roll over every day and keep at most one month -->
<appender name="main" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MARMOTTA_HOME}/log/marmotta-main.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${MARMOTTA_HOME}/log/marmotta-main.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<!-- filter out Hibernate 4.x drop constraint messages, they clutter the log unnecessarily -->
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>logger.endsWith("SchemaExport") &amp;&amp; formattedMessage.contains("alter table")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- log all debug messages if debug is enabled, roll over every day and keep at most 3 days -->
<if condition='property("DEBUG").equals("true")'>
<then>
<logger name="org.hibernate.SQL" level="DEBUG" />
<logger name="org.hibernate.pretty" level="DEBUG" />
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MARMOTTA_HOME}/log/marmotta-debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${MARMOTTA_HOME}/log/marmotta-debug.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 3 days' worth of history -->
<maxHistory>3</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root>
<appender-ref ref="debug" />
</root>
</then>
</if>
<!-- Separate Log File for Stanbol -->
<appender name="stanbol" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MARMOTTA_HOME}/log/marmotta-stanbol.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${MARMOTTA_HOME}/log/marmotta-stanbol.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- STDOUT logger, used for errors -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<!-- filter out Hibernate 4.x drop constraint messages, they clutter the log unnecessarily -->
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<expression>logger.endsWith("SchemaExport") &amp;&amp; formattedMessage.contains("alter table")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<encoder>
<!-- <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern> -->
<pattern>%d{HH:mm:ss.SSS} %-5level - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.apache.marmotta" level="INFO" />
<logger name="org.apache.stanbol" level="INFO" additivity="false">
<appender-ref ref="stanbol" />
</logger>
<logger name="org.apache.felix" level="INFO" additivity="false">
<appender-ref ref="stanbol" />
</logger>
<logger name="org.apache.clerezza" level="INFO" additivity="false">
<appender-ref ref="stanbol" />
</logger>
<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="main" />
</root>
</configuration>