springboot 添加文件记录日志
简介:
服务器一般都需要记录文件日志,以便发生问题时能追溯问题。下面介绍使用SpringBoot开发服务器程序时怎么记录文件日志。
- 1、在工程resources目录下创建logback-spring.xml文件(这个文件的名称必须叫这个名字) 下面是该文件的内容及解释,并可以直接修改及使用:
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"> <!--上下文名称,用于区分不同应用的记录,不设置默认为default,可以通过%contextname来打印查看--> <contextName>miniprogram</contextName> <property name="logPath" value="/usr/local/javaServer/log" /> <!--输出到控制台--> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--输出到文件--> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${logPath}/miniprogram%d{yyyy-MM-dd}</fileNamePattern> <maxHistory>20</maxHistory> <!--日志最大保存时间(天)--> <totalSizeCap>1GB</totalSizeCap> <!--单个日志最大容量--> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!--root是必写的节点,用来指定日志输出级别--> <root level="info"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <root level="error"> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <!-- logger用来指定打印某个包或类的日志,test,dev表示在测试及打包环境都使用 --> <springProfile name="test,dev"> <logger name="com.mhwang.controller" level="info"> <appender-ref ref="file"/> </logger> </springProfile> <!--生产环境下打印info级别的日志--> <!--logback.LogbackDemo:打印controller包下所有类的日志,需要把这个包改成自己项目的 --> <springProfile name="prod"> <logger name="com.mhwang.controller" level="info" additivity="false"> <appender-ref ref="console"/> </logger> </springProfile> <springProfile name="prod"> <logger name="com.mhwang.controller" level="info"> <appender-ref ref="file"/> </logger> </springProfile> </configuration>
-
2、在application.yml文件中配置日志目录保存在服务器中的路径
-
3、接下来就可以在配置需要记录的类的任意地方使用了
// 创建日记记录类对象 private static Logger logger = LoggerFactory.getLogger(UserController.class); // 在需要的地方直接使用 logger.info("getUserById=>uid:"+uId);