logback 配置实例

ext_logfile.xml

<?xml version="1.0" encoding="UTF-8"?>
<included>
    <property name="root.level" value="ERROR" />
    <property name="logstash.host" value="127.0.0.1" />
    <property name="logstash.port" value="8080" />
    <property name="appName" value="com-icss-regie-utilities-war" />
    <property name="consoleAppender" value="true" />
    <property name="dailyRollingFileAppender" value="true" />
    <property name="minuteRollingFileAppender" value="false" />
    <property name="logstashSocketAppender" value="false" />
    <property name="logstashTcpSocketAppender" value="false" />
   
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>.%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n
            </Pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>
    <!--
      <appender name="logstashSocketAppender" class="net.logstash.logback.appender.LogstashSocketAppender">
          <host>${logstash.host}</host>
          <port>${logstash.port}</port>
          <customFields>{"appname":"${appName}"}</customFields>
      </appender>
      <appender name="logstashTcpSocketAppender" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>${logstash.host}:${logstash.port}</destination>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>
    -->

    <appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--<file>/regie-utilities-war.log</file>-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/web_data/logger/output/regie-utilities-war.%d{yyyy-MM-dd}.log</FileNamePattern>
            <maxHistory>30</maxHistory>           
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
        </encoder>
    </appender>
    <appender name="minuteRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/web_data/logger/output/regie-utilities-war.%d{yyyy-MM-dd}.log</FileNamePattern>
            <maxHistory>30</maxHistory>           
        </rollingPolicy>
        <encoder>
            <Pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</Pattern>
        </encoder>        
    </appender>
   
    <logger name="org.apache.cxf" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="org.springframework.transaction" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="org.springframework" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="org.springframework.integration" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="org.hibernate.type" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="org.hibernate" additivity="false">
        <level value="ERROR" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <logger name="com.icss.regie" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="dailyRollingFileAppender"/>
        <appender-ref ref="consoleAppender" />
    </logger>
    <root level="TRACE">
        <if condition='property("consoleAppender")=="true"'>
            <then>
                <appender-ref ref="consoleAppender" />
            </then>
        </if>
        <if condition='property("dailyRollingFileAppender")=="true"'>
            <then>
                <appender-ref ref="dailyRollingFileAppender" />
            </then>
        </if>
        <if condition='property("minuteRollingFileAppender")=="true"'>
            <then>
                <appender-ref ref="minuteRollingFileAppender" />
            </then>
        </if>
        <if condition='property("logstashSocketAppender")=="true"'>
            <then>
                <appender-ref ref="logstashSocketAppender" />
            </then>
        </if>
        <if condition='property("logstashTcpSocketAppender")=="true"'>
            <then>
                <appender-ref ref="logstashTcpSocketAppender" />
            </then>
        </if>
    </root>
</included>

----------------------------------------------------------------

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true"  scanPeriod="10 seconds" debug="false">
    <insertFromJNDI env-entry-name="java:comp/env/LOG/REGIE/UTILITIES/CONFIG" as="configPath" />
    <include file="${configPath}"/>
    <contextName>${appName}</contextName>
    <jmxConfigurator />
</configuration>

-----------------------------------------------------

tomcat context

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/appbase">
  <Environment name="spring.profiles.active" type="java.lang.String" value="tomcat dev"/>
  <Environment name="LOG/REGIE/UTILITIES/CONFIG" type="java.lang.String" value="/ext_path/ext_logfile.xml"/>
</Context>

猜你喜欢

转载自anole1982.iteye.com/blog/2410791