SpringBoot配置logback的步骤
配置日志文件
springboot默认会加载classpath:logback-spring.xml或者classpath:logback-spring.groovy。
如需要自定义文件名称,在application.properties中配置logging.config选项即可。
在src/main/resources下创建logback-spring.xml文件,内容如下:
${PATTERN} ${TEST_FILE_PATH} ${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log 100 ${PATTERN} ${PRO_FILE_PATH} ${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log 100 ${PATTERN}
其中,springProfile标签的name属性对应application.properties中的spring.profiles.active的配置。
即spring.profiles.active的值可以看作是日志配置文件中对应的springProfile是否生效的开关。
注解介绍
下面列出SpringBoot开发中常用的注解:
@Configuration#作用于类上,相当于一个xml配置文件 @Bean#作用于方法上,相当于xml配置中的@SpringBootApplication#SpringBoot的核心注解,是一个组合注解,用于启动类上 @EnableAutoConfiguration#启用自动配置,允许加载第三方Jar包的配置 @ComponentScan#默认扫描@SpringBootApplication所在类的同级目录以及它的子目录 @PropertySource#加载properties文件 @Value#将配置文件的属性注入到Bean中特定的成员变量 @EnableConfigurationProperties#开启一个特性,让配置文件的属性可以注入到Bean中,与@ConfigurationProperties结合使用 @ConfigurationProperties#关联配置文件中的属性到Bean中 @Import#加载指定Class文件,其生命周期被Spring管理 @ImportResource#加载xml文件
读取配置文件
属性装配
有两种方式:使用@Value注解和Environment对象。在application.properties中添加:
ds.userName=root ds.password=tiger ds.url=jdbc:mysql://localhost:3306/test ds.driverClassName=com.mysql.jdbc.Driver 以上是自定义的配置。 创建一个配置类,如下: @Configuration publicclassWebConfig{ @Value("${ds.userName}") privateStringuserName; @Autowired privateEnvironmentenvironment; publicvoidshow(){ System.out.println("ds.userName:"+this.userName); System.out.println("ds.password:"+this.environment.getProperty("ds.password")); } } 通过@Value获取config.userName配置;通过environment获取config.password配置。 测试: @SpringBootApplication publicclassSpringbootApplication{ publicstaticvoidmain(String[]args){ ConfigurableApplicationContextcontext=SpringApplication.run(SpringbootApplication.class,args); context.getBean(WebConfig.class).show(); } } 打印结果: userName:root password:tiger
对象装配
创建一个封装类:省略getset
@Component @ConfigurationProperties(prefix="ds") publicclassDataSourceProperties{ privateStringurl; privateStringdriverClassName; privateStringuserName; privateStringpassword; publicvoidshow(){ System.out.println("ds.url="+this.url); System.out.println("ds.driverClassName="+this.driverClassName); System.out.println("ds.userName="+this.userName); System.out.println("ds.password="+this.password); } } 测试: @SpringBootApplication publicclassSpringbootApplication{ publicstaticvoidmain(String[]args){ ConfigurableApplicationContextcontext=SpringApplication.run(SpringbootApplication.class,args); context.getBean(DataSourceProperties.class).show(); } } 打印结果 ds.url=jdbc:mysql://localhost:3306/test ds.driverClassName=com.mysql.jdbc.Driver ds.userName=root ds.password=tiger
打包运行
打包的形式有两种:jar和war。
jar
默认情况下,通过maven执行package命令后,会生成jar包,且该jar包会内置了tomcat容器,因此我们可以通过java-jar就可以运行项目
war
让SpringbootApplication类继承SpringBootServletInitializer并重写configure方法,如下:
@SpringBootApplication publicclassSpringbootApplicationextendsSpringBootServletInitializer{ @Override protectedSpringApplicationBuilderconfigure(SpringApplicationBuilderapplication){ returnapplication.sources(SpringbootApplication.class); } publicstaticvoidmain(String[]args){ SpringApplication.run(SpringbootApplication.class,args); } }
修改pom.xml文件,将jar改成war,如下:
war 移除内置tomcat:org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat javax.servlet javax.servlet-api 3.1.0 provided
以上就是SpringBoot配置logback的步骤的详细内容,更多关于SpringBoot配置logback的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。