Spring boot 实践(日志log4J,修改端口)
来源:互联网 发布:淘宝买家信誉度是什么 编辑:程序博客网 时间:2024/06/01 23:28
入门一个新知识点,习惯性大致了解,然后整个可以跑的demo。所以这里首先上代码,先跑一通再具体看其原理相关的
源代码
- SampleController 类
package hello;import org.jboss.logging.Logger;/*** @author YeChunBo* @time 2017年7月23日 ** 类说明 Spring boot的一个简单应用* @EnableAutoConfiguration 用于自动配置。* 简单的说,它会根据你的pom配置(实际上应该是根据具体的依赖)来判断这是一个什么应用,并创建相应的环境。*/import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;@Controller@EnableAutoConfigurationpublic class SampleController implements EmbeddedServletContainerCustomizer { private static Logger log = Logger.getLogger(SampleController.class); @RequestMapping("/") @ResponseBody String home() { log.info("info................................................."); log.warn("warn................................................."); log.error("error................................................."); return "Hello Spring Boot!!!"; } // 请求路径:http://localhost:8080/createLdapUser?name=tom&pwd=123 @RequestMapping("/createLdapUser") @ResponseBody String createLdapUser(@RequestParam(value = "name", required = true, defaultValue = "ycb") String name, @RequestParam(value = "pwd", required = false, defaultValue = "zwzx_dsj") String pwd) { System.out.println("name: " + name + ", pwd :" + pwd); return "Hello Spring Boot!!!"; } // 修改访问的默认端口 public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) { configurableEmbeddedServletContainer.setPort(8003); } public static void main(String[] args) throws Exception { log.info("info......."); log.warn("warn......."); log.error("error......."); SpringApplication.run(SampleController.class, args); }}
2、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SpringBootSimple</groupId> <artifactId>SpringBootSimple</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> <version>1.3.0.RELEASE</version> </dependency> </dependencies></project>
3、log4j.properties
### \u8bbe\u7f6e###log4j.rootLogger = INFO,stdout,D,E### \u8f93\u51fa\u4fe1\u606f\u5230\u63a7\u5236\u62ac ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### \u8f93\u51faDEBUG \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=log/message.log ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/message.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = INFO log4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### \u8f93\u51faERROR \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=log/error.log ###log4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = logs/error.log log4j.appender.E.Append = truelog4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
4、代码结构如下图
5、运行测试
直接运行,run as application便可,它会加载内置的tomcat
这里日志的输出调用了log4j,启动项目后,如果没有logs日志目录,程序会自动创建,并添加相应的日志进去。
如下便是一小部分的日志信息,message.log
2017-08-01 23:35:35 [ main:0 ] - [ INFO ] info.......2017-08-01 23:35:35 [ main:2 ] - [ WARN ] warn.......2017-08-01 23:35:35 [ main:2 ] - [ ERROR ] error.......2017-08-01 23:35:36 [ main:295 ] - [ INFO ] Starting SampleController on LAPTOP-E7JSI93O with PID 14592 (D:\javaMarSource\SpringBootSimple\target\classes started by 在屋顶唱歌 in D:\javaMarSource\SpringBootSimple)2017-08-01 23:35:36 [ main:295 ] - [ INFO ] No active profile set, falling back to default profiles: default2017-08-01 23:35:36 [ main:320 ] - [ INFO ] Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@27f723: startup date [Tue Aug 01 23:35:36 CST 2017]; root of context hierarchy2017-08-01 23:35:36 [ background-preinit:567 ] - [ INFO ] HV000001: Hibernate Validator 5.3.5.Final2017-08-01 23:35:37 [ main:1527 ] - [ INFO ] Tomcat initialized with port(s): 8003 (http)2017-08-01 23:35:37 [ localhost-startStop-1:1686 ] - [ INFO ] Root WebApplicationContext: initialization completed in 1368 ms2017-08-01 23:35:37 [ localhost-startStop-1:1824 ] - [ INFO ] Mapping servlet: 'dispatcherServlet' to [/]2017-08-01 23:35:37 [ localhost-startStop-1:1829 ] - [ INFO ] Mapping filter: 'characterEncodingFilter' to: [/*]2017-08-01 23:35:37 [ localhost-startStop-1:1830 ] - [ INFO ] Mapping filter: 'hiddenHttpMethodFilter' to: [/*]2017-08-01 23:35:37 [ localhost-startStop-1:1830 ] - [ INFO ] Mapping filter: 'httpPutFormContentFilter' to: [/*]2017-08-01 23:35:37 [ localhost-startStop-1:1830 ] - [ INFO ] Mapping filter: 'requestContextFilter' to: [/*]
通过web界面访问如下:
访问地址:
http://localhost:8003/
返回:
Hello Spring Boot!!!
修改默认的端口号
// 修改访问的默认端口 public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) { configurableEmbeddedServletContainer.setPort(8003); }
注:需要实现 implements EmbeddedServletContainerCustomizer 类才会生效
修改日志输出为log4j
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency>
注意:需要将默认的 log日志控件去除spring-boot-starter-logging
并引入对就的log4j
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> <version>1.3.0.RELEASE</version> </dependency>
maven 仓库可参考如下链接
http://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j/1.3.0.RELEASE
将log4j.properties 文件放到resource 目录下则可。
4、参数的传入方式
// 请求路径:http://localhost:8080/createLdapUser?name=tom&pwd=123 @RequestMapping("/createLdapUser") @ResponseBody String createLdapUser(@RequestParam(value = "name", required = true, defaultValue = "ycb") String name, @RequestParam(value = "pwd", required = false, defaultValue = "zwzx_dsj") String pwd) { System.out.println("name: " + name + ", pwd :" + pwd); return "Hello Spring Boot!!!"; }
阅读全文
0 0
- Spring boot 实践(日志log4J,修改端口)
- Spring Boot修改端口
- Spring Boot修改端口
- 修改Spring Boot启动端口
- Spring boot中使用log4j记录日志
- Spring Boot日志配置logback,log4j
- Spring Boot日志配置logback,log4j
- Spring boot中使用log4j记录日志
- Spring boot中使用log4j记录日志
- Spring boot配置log4j输出日志
- Spring Boot 整合 log4j 实现日志管理
- Spring Boot教程三:log4j记录日志
- Spring boot配置log4j输出日志
- (10)Spring Boot修改端口号【从零开始学Spring Boot】
- Spring Boot修改内置Tomcat端口号
- Spring-Boot中Tomcat端口修改
- Spring-Boot中tomcat端口修改
- Spring Boot修改内置Tomcat端口号
- 51nod 1421 最大MOD值 & codeforces 485D Maximum Value(思维 数学)
- jdk 原地分析(3)java ConcurrentHashMap结构分析
- Spring 4.0 学习日记(8) ---AOP切面注解实现五种通知
- Storm流式处理框架概述
- mot文件的单行校验与全局校验
- Spring boot 实践(日志log4J,修改端口)
- SessionFilter session的创建和销毁监听
- 规避使用 vue 的 v-html 指令的方法
- C++实现单例模式
- NP难问题与过拟合
- PHP变量
- 【shell】变量内容的删除和替换
- 构造函数、析构函数、拷贝构造函数,常函数
- 数据结构之树的一些基本操作