java LoggerFactory日志记录

1.引入库

代码如下(示例):

import org.slf4j.LoggerFactory;

2.日志记录

代码如下(示例):

protected final Logger logger = LoggerFactory.getLogger(this.getClass());
//记录日志
logger.info("用户登录成功");
//记录错误日志
logger.error("getUserInfo 异常【{}】", e);

3.application.yml 配置

代码如下(示例):

####  logback 配置 #####
logging:
  config: classpath:logback-spring.xml

4.logback-spring.xml

代码如下(示例):

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>yuqzbeacons-system</contextName>
    <springProperty scope="context" name="app.name" source="spring.application.name"
                    defaultValue="yuqzcas"/>
    <springProperty scope="context" name="server.port" source="server.port"
                    defaultValue=""/>
    <property name="log.path" value="logs/busi" />
    <property name="console.pattern"
              value="%d{YYYY-MM-dd HH:mm:ss} %property{app.name} [%thread] %-5level %logger{36}[%L] [TxId : %X{PtxId} , SpanId : %X{PspanId}]- %msg%n" />
    <property name="file.pattern"
              value="%d{YYYY-MM-dd HH:mm:ss} %property{app.name} [%thread] %-5level %logger{36}[%L] [TxId : %X{PtxId} , SpanId : %X{PspanId}]- %msg%n" />

    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${
    
    console.pattern}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!--输出到文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${
    
    log.path}/${
    
    app.name}-info-${
    
    server.port}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${
    
    log.path}/${
    
    app.name}-info-${
    
    server.port}.log.%i</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>10</maxIndex>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>100MB</maxFileSize>
        </triggeringPolicy>
        <layout>
            <pattern>${
    
    file.pattern}</pattern>
        </layout>
    </appender>

    <appender name="file-error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <file>${
    
    log.path}/${
    
    app.name}-error-${
    
    server.port}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${
    
    log.path}/${
    
    app.name}-error-${
    
    server.port}.log.%i</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>10</maxIndex>
        </rollingPolicy>
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>100MB</maxFileSize>
        </triggeringPolicy>
        <layout>
            <pattern>${
    
    file.pattern}</pattern>
        </layout>
    </appender>

    <root level= "debug" >
        <appender-ref ref="file-error" />
        <appender-ref ref="file"/>
        <appender-ref ref="console"/>
    </root>
    <springProfile name="dev" ><!-- 开发环境. -->
        <root level= "info" >
            <appender-ref ref="file-error" />
            <appender-ref ref="file"/>
        </root>
        <logger name="springfox.documentation.spring.web.readers.operation" level="error"></logger>
        <logger name="com.yuqzcrm.yuqzbeacons.system.log" level="error"></logger>
    	<logger name="com.yuqzcrm.yuqzcas" level="info" ></logger>
    </springProfile>

    <springProfile name="test"><!-- 测试环境. -->
        <root level= "info" >
            <appender-ref ref="file-error" />
            <appender-ref ref="file"/>
        </root>
    </springProfile>

    <springProfile name="prod"><!-- 生产环境. -->
        <root level= "error" >
            <appender-ref ref="file-error" />
            <appender-ref ref="file"/>
        </root>
        <logger name="com.yuqzcrm.yuqzcas" level="info" >
        </logger>
    </springProfile>
</configuration>

总结

后端开发必备。

猜你喜欢

转载自blog.csdn.net/myyw001/article/details/120455174
今日推荐