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);
经验分享 程序员 微信小程序 职场和发展