zoukankan      html  css  js  c++  java
  • EurekaUser-Logback-json

    项目路径如下

    pom.xml添加

            <!-- logback -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
                <version>2.1.11.RELEASE</version>
                <scope>compile</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.62</version>
            </dependency>
    

     application.properties添加

    #日志存放路径
    logging.paths=/data/odyun/user
    #配置引用路径
    logging.config=classpath:conf/logging/logback-spring.xml
    

      logback-spring.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
        <!-- 属性文件:在properties文件中找到对应的配置项 -->
        <springProperty scope="context" name="LOGGING_PATH" source="logging.paths"/>
    
        <contextName>EurekaUser</contextName>
    
        <!-- 输出控制台 -->
        <!-- ConsoleAppender:把日志添加到控制台 -->
        <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <!--格式化输出(配色):%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
                <pattern>%yellow(%d{yyyy-MM-dd HH:mm:ss}) %red([%thread]) %highlight(%-5level) %cyan(%logger{50}) - %black(%msg) %n
                </pattern>
                <charset>UTF-8</charset>
            </encoder>
        </appender>
    
        <!--根据日志级别分离日志,分别输出到不同的文件-->
        <!--RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。它是FileAppender的子类-->
        <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOGGING_PATH}/info.log</file>
            <encoder>
                <pattern>
                    [ %-5level] [%date{yyyy-MM-dd HH:mm:ss}] %logger{96} -%msg%n
                </pattern>
                <charset>UTF-8</charset> <!-- 此处设置字符集 -->
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--按时间保存日志 修改格式可以按小时、按天、月来保存-->
                <fileNamePattern>${LOGGING_PATH}/mylog-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!--日志文件保留天数-->
                <MaxHistory>10</MaxHistory>
                <!-- 文件压缩分为多个文件 -->
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>30KB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <!--文件大小-->
                <!--<totalSizeCap>10K</totalSizeCap>-->
            </rollingPolicy>
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>DEBUG</level>
            </filter>
        </appender>
    
    
        <!-- 日志级别 -->
        <root level="info">
            <appender-ref ref="consoleLog"/>
            <appender-ref ref="fileInfoLog"/>
        </root>
    
    </configuration>
    

      UserAction

    @RestController
    @RequestMapping("/user")
    public class UserAction {
    
        private Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @Value("${server.port}")
        String port;
    
        @Resource
        private UserMapper userMapper;
    
        @RequestMapping("/hi")
        public String hi(@RequestParam String name) {
    
            logger.info("----- selectAll method test ------");
            List<User> userList = userMapper.selectList(null);
            logger.info("userList:{}", JSON.toJSON(userList));
            return "hi " + name + ",i am from port:" + port;
        }
    
    }
    

      启动项目访问http://127.0.0.1:10001/user/hi?name=ok

  • 相关阅读:
    List里如何剔除相同的对象?
    Collections工具类中的sort方法如何比较元素?
    TreeMap和TreeSet在排序时如何比较元素?
    Map的实现类中,哪些是有序的,哪些是无序的,如何保证其有序性?
    LinkedHashMap、LinkedHashSet、LinkedList哪个最适合当作Stack使用?
    ArrayList与LinkedList哪个插入性能高?
    HashSet和HashMap有什么区别?
    HashSet实现原理是什么?有什么特点?
    TreeSet的原理是什么?使用需要注意什么?
    Java中已经数组类型,为什么还要提供集合?
  • 原文地址:https://www.cnblogs.com/yinduang/p/14848990.html
Copyright © 2011-2022 走看看