tomcat7 使用slf4j

前两天记录了一下tomcat中怎样替换使用log4j.这里再记录一下替换使用slf4j.


1.在slf4j的官网中下载slf4j的包,里面找到jul-to-slf4j-1.6.1.jar放到tomcat的lib目录下

2.修改tomcat的logging.properties文件,把自带的handlers和.handlers都注释掉,添加:.handlers = org.slf4j.bridge.SLF4JBridgeHandler

3.使用logback的话,把logback.xml文件放到classpath下,下面是示例:

<!-- the scan=true indicates an automatically reloading while modification -->
<configuration scan="true">
  <!-- Setting the context name is a simple and straightforward method in order to distinguish between multiple 
        applications logging to the same target -->
  <contextName>edrop_web_server</contextName>
  
  <!-- set a variable refered to the path of log -->
  <property name="LOG_HOME" value="${catalina.base}/../logs" />
  
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n %ex</pattern>
    </encoder>
  </appender>
  
  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${LOG_HOME}/server.log</file>

    <encoder>
      <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
  </appender>
  
  <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- <Encoding>UTF-8</Encoding> -->
        <File>${LOG_HOME}/server.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <FileNamePattern>${LOG_HOME}/server.%i.log.zip</FileNamePattern>
                <MinIndex>1</MinIndex>
                <MaxIndex>20</MaxIndex>
        </rollingPolicy>
          <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>20MB</MaxFileSize>
        </triggeringPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%date [%thread] %-5level %logger{10} [%file:%line] %msg%n %ex</pattern>
        </layout>
  </appender>
  
  <!-- the name is the package name -->
  <logger name="com.hanborq.edrop.user.controller" level="INFO"/>
  
  <root level="debug">
    <!--<appender-ref ref="STDOUT"/>-->
    <!-- <appender-ref ref="FILE" /> -->
    <appender-ref ref="RollingFile" />
  </root>
</configuration>
重启tomcat

另外,catalina.sh文件中启动时,把输出到console的内容重定向到CATALINA_OUT变量中了。org.apache.catalina.startup.Bootstrap "$@" start >> "$CATALINA_OUT" 2>&1 "&"

如果不想输出console的内容(一般是catalina.out增长太快让人烦恼),可在catalina.sh中把CATALINA_OUT定义成/dev/null


参考:http://hwellmann.blogspot.hk/2012/11/logging-with-slf4j-and-logback-in.html

http://www.slf4j.org/legacy.htmljul-to-slf4j bridge

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值