一个项目的日志是必不可少的,打印日志可以方便我们项目调试和后期的维护。SpringBoot内部集成了Logback日志依赖,SpringBoot默认使用Logback记录日志信息,默认根据base.xml配置内容来输出到控制台和文件之中。所以我们配置Logback就会很方便。
1、添加Logback配置文件
在resource下添加 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<!--定义日志文件的存储地址 修改为自己想要的目录即可 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="/Users/493858256qq.com/Desktop/log/" />
<property name="LOG_FILE" value="demo" />
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--文件输出位置和名称-->
<FileNamePattern>${LOG_HOME}${LOG_FILE}.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>50MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE"/>
</root>
<!--输出sql语句-->
<logger name="com.dyw" level="DEBUG"/>
</configuration>
2、用法
@Controller
@RequestMapping("/login")
public class LoginController {
private final static Logger logger = LoggerFactory.getLogger(LoginController.class);
@Autowired
private UserService userService;
/**
* 登录页面
*/
@RequestMapping("/index")
public String login() {
return "manager/login";
}
/**
* 用户登录验证
*/
@RequestMapping("/loginUser")
public String loginUser(HttpServletRequest request, String username, String password) {
logger.info(username + "登录");
if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) {
boolean login = userService.login(username, password);
if (login) {
request.getSession().setAttribute("user", username);
return "redirect:/manager/index";
}
}
return "manager/login";
}
}
3、启动项目,进行登录操作,即可看到控制台和你修改的目录下看到日志文件和内容。
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/47.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。