logback配置方式

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
	scan:为true时,根据scanPeriod设置的时间来自动重新加载当前上下文配置(不指定时间单位时默认为毫秒)
	debug:为true时,输出logback内部日志信息
-->
<configuration scan="true" scanPeriod="10 seconds">

	<!-- 上下文名称 -->
	<contextName>test</contextName>
	<!-- 上下文属性-变量,使用${}引用 -->
	<property name="logback.logs.path" value="C:/logback_log/logs/" />
	<!-- 获取时间戳 -->
	<timestamp key="timestamp" datePattern="yyyyMMdd"/>  

	<!-- 控制台日志输出器 -->
	<appender name="out-console" class="ch.qos.logback.core.ConsoleAppender">
		<encoder charset="UTF-8">
			<!-- 
				%level:日志级别
				%date:日期输出{输出格式}
				%logger:日志输出位置
				%msg:日志输出内容
				%n:换行
				${timestamp}:获取时间戳
			-->
			<pattern>
				日志级别:%level,时间:%date{yyyy-MM-dd HH:mm:ss},出处:%logger,内容:%msg%n
			</pattern>
		</encoder>
	</appender>
	
	<!-- 滚动文件日志输出器 -->
	<appender name="out-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!-- 文件名称 -->
			<fileNamePattern>${logback.logs.path}/logfile_%d{yyyyMMdd}.log</fileNamePattern>
			<!-- 日志数量,超过15就清除 -->
			<maxHistory>15</maxHistory>
		</rollingPolicy>	
		<encoder charset="UTF-8">
			<pattern>
				日志级别:%level,时间:%date{yyyy-MM-dd HH:mm:ss},出处:%logger,内容:%msg%n
			</pattern>
		</encoder>
	</appender>	
	
	
	<!-- 普通Logger:局部配置,针对特定的某个类来配置 -->
	<!-- 当没有指定level时,默认使用root的level级别 -->
	<logger name="com.test" level="DEBUG">
		<!-- 使用以下输出器 -->
		<appender-ref ref="out-console" />
		<appender-ref ref="out-file" />
	</logger>

	<!-- 根logger:全局配置 -->
	<root level="INFO"> 
		<!-- 使用以下输出器 -->
		<appender-ref ref="out-console" />
		<appender-ref ref="out-file" />
	</root>

</configuration>

使用

package com.td;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {

	static Logger logger = LoggerFactory.getLogger(Main.class);

	/**
	 * 日志常用级别输出:error > warn > info > debug > all
	 */
	public static void main(String[] args) {
		
		logger.trace("Main-trace级别");
		logger.debug("Main-debug级别");
		logger.info("Main-info级别");
		logger.warn("Main-warn级别");
		logger.error("Main-error级别");
		
	}

}
原文地址:https://www.cnblogs.com/tandi19960505/p/9914743.html