You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 4.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # spring-boot-demo-logback
  2. 依赖 [spring-boot-demo-parent](../spring-boot-demo-parent)
  3. ### pom.xml
  4. ```xml
  5. <?xml version="1.0" encoding="UTF-8"?>
  6. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  7. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>spring-boot-demo-logback</artifactId>
  10. <version>0.0.1-SNAPSHOT</version>
  11. <packaging>war</packaging>
  12. <name>spring-boot-demo-logback</name>
  13. <description>Demo project for Spring Boot</description>
  14. <parent>
  15. <groupId>com.xkcoding</groupId>
  16. <artifactId>spring-boot-demo-parent</artifactId>
  17. <version>0.0.1-SNAPSHOT</version>
  18. <relativePath>../spring-boot-demo-parent/pom.xml</relativePath>
  19. </parent>
  20. <build>
  21. <finalName>spring-boot-demo-logback</finalName>
  22. </build>
  23. </project>
  24. ```
  25. ### SpringBootDemoLogbackApplication.java
  26. ```java
  27. @SpringBootApplication
  28. @Slf4j
  29. public class SpringBootDemoLogbackApplication {
  30. public static void main(String[] args) {
  31. ConfigurableApplicationContext context = SpringApplication.run(SpringBootDemoLogbackApplication.class, args);
  32. int length = context.getBeanDefinitionNames().length;
  33. log.trace("Spring boot启动初始化了 {} 个 Bean", length);
  34. log.debug("Spring boot启动初始化了 {} 个 Bean", length);
  35. log.info("Spring boot启动初始化了 {} 个 Bean", length);
  36. log.warn("Spring boot启动初始化了 {} 个 Bean", length);
  37. log.error("Spring boot启动初始化了 {} 个 Bean", length);
  38. try {
  39. int i = 0;
  40. int j = 1 / i;
  41. } catch (Exception e) {
  42. log.error("【SpringBootDemoLogbackApplication】启动异常:", e);
  43. }
  44. }
  45. }
  46. ```
  47. ### application.yml
  48. ```yaml
  49. server:
  50. port: 8080
  51. context-path: /demo
  52. spring:
  53. application:
  54. name: logback-demo
  55. ```
  56. ### logback-spring.xml
  57. ```xml
  58. <?xml version="1.0" encoding="utf-8" ?>
  59. <configuration>
  60. <conversionRule conversionWord="clr"
  61. converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
  62. <conversionRule conversionWord="wex"
  63. converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
  64. <conversionRule conversionWord="wEx"
  65. converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
  66. <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
  67. <layout class="ch.qos.logback.classic.PatternLayout">
  68. <pattern>【xkcoding】%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}
  69. </pattern>
  70. </layout>
  71. </appender>
  72. <appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  73. <!--滚动策略-->
  74. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  75. <!--输出路径-->
  76. <fileNamePattern>${user.dir}/logs/log/logback-demo.%d.log</fileNamePattern>
  77. </rollingPolicy>
  78. <encoder>
  79. <pattern>【xkcoding】%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
  80. </encoder>
  81. </appender>
  82. <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
  83. <filter class="ch.qos.logback.classic.filter.LevelFilter">
  84. <level>ERROR</level>
  85. <onMatch>ACCEPT</onMatch>
  86. <onMismatch>DENY</onMismatch>
  87. </filter>
  88. <!--滚动策略-->
  89. <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  90. <!--输出路径-->
  91. <fileNamePattern>${user.dir}/logs/error/logback-demo.%d.error</fileNamePattern>
  92. </rollingPolicy>
  93. <encoder>
  94. <pattern>【xkcoding】%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
  95. </encoder>
  96. </appender>
  97. <root level="info">
  98. <appender-ref ref="consoleLog"/>
  99. <appender-ref ref="fileLog"/>
  100. <appender-ref ref="fileErrorLog"/>
  101. </root>
  102. </configuration>
  103. ```

一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo,已经完成 55 个。

Contributors (1)