好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springboot实现打印彩色日志

springboot打印彩色日志

logback配置

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

<? xml version = "1.0" encoding = "UTF-8" ?>

< configuration >

     <!-- 文件输出格式 -->

     < property name = "PATTERN"

         value = "%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />

     < conversionRule conversionWord = "clr" converterClass = "org.springframework.boot.logging.logback.ColorConverter" />

     < conversionRule conversionWord = "wex" converterClass = "org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />

     < conversionRule conversionWord = "wEx" converterClass = "org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />

     <!-- 彩色日志格式 -->

     < property name = "CONSOLE_LOG_PATTERN" value = "${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />

     <!-- test文件路径 -->

     < property name = "TEST_FILE_PATH" value = "d:/test.log" />

     <!-- pro文件路径 -->

     < property name = "PRO_FILE_PATH" value = "/opt/test/log" />

     <!-- 开发环境 -->

     < springProfile name = "dev" >

         < appender name = "CONSOLE" class = "ch.qos.logback.core.ConsoleAppender" >

             < encoder >

                 < pattern >${CONSOLE_LOG_PATTERN}</ pattern >

             </ encoder >

         </ appender >

         < logger name = "com.sdyy" level = "debug" />

         < root level = "info" >

             < appender-ref ref = "CONSOLE" />

         </ root >

     </ springProfile >

     <!-- 测试环境 -->

     < springProfile name = "test" >

         <!-- 每天产生一个文件 -->

         < appender name = "TEST-FILE"

             class = "ch.qos.logback.core.rolling.RollingFileAppender" >

             <!-- 文件路径 -->

             < file >${TEST_FILE_PATH}</ file >

             < rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >

                 <!-- 文件名称 -->

                 < fileNamePattern >${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</ fileNamePattern >

                 <!-- 文件最大保存历史数量 -->

                 < MaxHistory >100</ MaxHistory >

             </ rollingPolicy >

             < layout class = "ch.qos.logback.classic.PatternLayout" >

                 < pattern >${PATTERN}</ pattern >

             </ layout >

         </ appender >

         < logger name = "com.sdyy" level = "debug" />

         < root level = "info" >

             < appender-ref ref = "TEST-FILE" />

         </ root >

     </ springProfile >

     <!-- 生产环境 -->

     < springProfile name = "prod" >

         < appender name = "PROD_FILE"

             class = "ch.qos.logback.core.rolling.RollingFileAppender" >

             < file >${PRO_FILE_PATH}</ file >

             < rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >

                 < fileNamePattern >${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</ fileNamePattern >

                 < MaxHistory >100</ MaxHistory >

             </ rollingPolicy >

             < layout class = "ch.qos.logback.classic.PatternLayout" >

                 < pattern >${PATTERN}</ pattern >

             </ layout >

         </ appender >

         < root level = "warn" >

             < appender-ref ref = "PROD_FILE" />

         </ root >

     </ springProfile >

</ configuration >

Springboot日志颜色

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

<? xml version = "1.0" encoding = "UTF-8" ?>

< configuration scan = "true" scanPeriod = "60 seconds" debug = "false" >

     < contextName >febs</ contextName >

     < property name = "log.path" value = "log" />

     < property name = "log.maxHistory" value = "15" />

     < property name = "log.colorPattern" value = "%d{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n" />

     < property name = "log.pattern" value = "%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n" />

 

     <!--输出到控制台-->

     < appender name = "console" class = "ch.qos.logback.core.ConsoleAppender" >

         < encoder >

             < pattern >${log.colorPattern}</ pattern >

         </ encoder >

     </ appender >

 

     <!--输出到文件-->

     < appender name = "file_info" class = "ch.qos.logback.core.rolling.RollingFileAppender" >

         < rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >

             < fileNamePattern >${log.path}/info/info.%d{yyyy-MM-dd}.log</ fileNamePattern >

             < MaxHistory >${log.maxHistory}</ MaxHistory >

         </ rollingPolicy >

         < encoder >

             < pattern >${log.pattern}</ pattern >

         </ encoder >

         < filter class = "ch.qos.logback.classic.filter.LevelFilter" >

             < level >INFO</ level >

             < onMatch >ACCEPT</ onMatch >

             < onMismatch >DENY</ onMismatch >

         </ filter >

     </ appender >

 

     < appender name = "file_error" class = "ch.qos.logback.core.rolling.RollingFileAppender" >

         < rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >

             < fileNamePattern >${log.path}/error/error.%d{yyyy-MM-dd}.log</ fileNamePattern >

         </ rollingPolicy >

         < encoder >

             < pattern >${log.pattern}</ pattern >

         </ encoder >

         < filter class = "ch.qos.logback.classic.filter.LevelFilter" >

             < level >ERROR</ level >

             < onMatch >ACCEPT</ onMatch >

             < onMismatch >DENY</ onMismatch >

         </ filter >

     </ appender >

 

     < root level = "debug" >

         < appender-ref ref = "console" />

     </ root >

 

     < root level = "info" >

         < appender-ref ref = "file_info" />

         < appender-ref ref = "file_error" />

     </ root >

</ configuration >

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/qq_22041375/article/details/104287609

查看更多关于springboot实现打印彩色日志的详细内容...

  阅读:19次