1、logback.xml配置部分
<?xml version="1.0" encoding="UTF-8"?>
<configuration><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<Encoding>UTF-8</Encoding>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS}) %-5level %logger{80}.%method - %msg%n</pattern>
</layout>
</appender>
<appender name="web_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.home}/logs/web.log</File>
<encoder>
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS}) %-5level%msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.home}/logs/web.log.%d{yyyy-MM-dd}</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="data_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.home}/logs/data.log</File>
<encoder>
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS}) %-5level%msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.home}/logs/data.log.%d{yyyy-MM-dd}</fileNamePattern>
</rollingPolicy>
</appender>
<!-- 日志异步处理 -->
<appender name="async" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="web_log" />
</appender>
<logger name="org.apache" level="ERROR" />
<logger name="org.hibernate.SQL" level="ERROR" />
<logger name="org.hibernate" level="ERROR" />
<logger name="org.springframework" level="ERROR" />
<logger name="net.sf" level="ERROR" />
<logger name="data" class="ch.qos.logback.classic.AsyncAppender" additivity="false">
<appender-ref ref="datat_log"/>
</logger>
<root level="INFO">
<appender-ref ref="async" />
</root>
</configuration>
2、java代码中,如果想指定某个类中的日志打印到 data.log 中 则:
private static Logger logger = (Logger) LoggerFactory.getLogger("data"); 注意这个data指定到上面红色部分logger的名字 就可以了。
3、特别说明上面的${catalina.home}指定的是tomcat的目录。。。
http://blog.youkuaiyun.com/haidage/article/details/6794509/
http://www.cnblogs.com/leihenqianshang/articles/4153270.html