SpringBoot自学笔记5--日志管理2

一、loger的使用

1.带有loger的配置,不指定级别,不指定appender

<logger name="com.qianfeng.controller"/>  

将控制controller包下的所有类的日志的打印,但是并没用设置打印级别,所以继承他的上级的日志级别“info”;
没有设置addtivity,默认为true,将此loger的打印信息向上级传递;
没有设置appender,此loger本身不打印任何信息

当执行该包下的某个类中的功能时,将级别为“info”及大于“info”的日志信息传递给root,本身并不打印;
root接到下级传递的信息,交给已经配置好的名为“console”的appender处理,“console”appender将信息打印到控制台

2.带有多个loger的配置,指定级别,指定appender

 <logger name="com.qianfeng.controller.SpringController" level="WARN" additivity="false">  

            <appender-ref ref="console"/> 

 </logger>  

控制com.qianfeng.controller.SpringController类的日志打印,打印级别为“WARN”;
additivity属性为false,表示此loger的打印信息不再向上级传递;
指定了名字为“console”的appender;

当执行SpringController中的方法时将级别为“WARN”及大于“WARN”的日志信息交给此loger指定的名为“console”的appender处理,在控制台中打出日志,不再向上级root传递打印信息。

二、多环境日志输出

根据不同环境(prod:生产环境,test:测试环境,dev:开发环境)来定义不同的日志输出,在 logback-spring.xml中使用 springProfile 节点来定义,方法如下:

<!-- 测试环境+开发环境. 多个使用逗号隔开-->

<springProfile name="test,dev">

    <logger name="com.qianfeng.controller" level="info" />

</springProfile>



<!-- 生产环境-->

<springProfile name="prod">

    <logger name="com.qianfeng.controller" level="ERROR" />

</springProfile>

在application.properties文件中指明使用哪一种:spring.profiles.active=prod

三、使用log4j日志管理

1.修改pom.xml文件,过滤掉自带的spring-boot-starter-logging,然后添加spring-boot-starter-log4j依赖包。

<!-- log4j -->

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter</artifactId>

        <exclusions>

            <exclusion>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-logging</artifactId>

            </exclusion>

        </exclusions>

</dependency>    

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-log4j</artifactId>

        <version>1.3.8.RELEASE</version>

</dependency>

2.在resources目录下新建log4j.properties配置文件

 配置info,error,console,debug四种输出格式。

log4j.rootLogger=info,error,CONSOLE,DEBUG

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender     

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout     

log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n     

log4j.logger.info=info

log4j.appender.info=org.apache.log4j.DailyRollingFileAppender

log4j.appender.info.layout=org.apache.log4j.PatternLayout     

log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  

log4j.appender.info.datePattern='.'yyyy-MM-dd

log4j.appender.info.Threshold = info   

log4j.appender.info.append=true   

log4j.appender.info.File=e://springboot/api_services_info.log

log4j.logger.error=error  

log4j.appender.error=org.apache.log4j.DailyRollingFileAppender

log4j.appender.error.layout=org.apache.log4j.PatternLayout     

log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  

log4j.appender.error.datePattern='.'yyyy-MM-dd

log4j.appender.error.Threshold = error   

log4j.appender.error.append=true   

log4j.appender.error.File=e://springboot/api_services_error.log

log4j.logger.DEBUG=DEBUG

log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout     

log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n  

log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd

log4j.appender.DEBUG.Threshold = DEBUG   

log4j.appender.DEBUG.append=true   

log4j.appender.DEBUG.File=e://springboot/api_services_debug.log

 

3.在使用到的类中声明log以及输出log信息。

@RestController

public class UserController{

private static Logger log = Logger.getLogger(UserController.class);

@Autowired

UserService userService;

@RequestMapping(“/add”)

public String addUser(){

      User u=new User(“zhangsan”,“12345”);

      int result = userService.addUser(u);

      log.info(“增加用户成功”+result);

      return “success”+result;

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值