springboot自带logback所需的maven文件,所以pom.xml中不用引入。
日志不用启动spring也是可以用的,非常方便。还可以使用占位符。代码:

logger.info("希望你 {},{}",666,999);

java 代码如下:

@Controller
class IndexController {
private static final Logger logger = LoggerFactory.getLogger(IndexController.class);
@RequestMapping("/index")
public String index(Model model){
model.addAttribute("name","hello pillar");
logger.error("参数验证失败");
return "index";
}
}

logback-spring.xml文件内容:

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
</pattern>
</layout>
</appender>

<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<encoder>
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>D:/log/logbackInfo.%d.log</fileNamePattern>
</rollingPolicy>
</appender>

<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
</pattern>
</encoder>
<!--滚动策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路径-->
<fileNamePattern>D:/log/logbackError.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>

有几个appender日志就会输出到几个地方。
该配置文件有日志会输出到3个地方。console,filelog,errorlog。

logback.xml放在项目外面可以吗

需要修改logback.xml的内容,但是不想改代码,可以通过外置配置文件的方式吗,例如放在config下?
实测不行,外部的logback.xml读取不到。
而且logback.xml优先级高于application.yml。

main方法测试logback无效

确实是无效的,因为测试main方法,日志框架有加载,但是没有加载logback。