快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页新闻资讯软件测评 → springBoot默认日志系统和日志快速上手简单配置

springBoot默认日志系统和日志快速上手简单配置

时间:2020-01-17 14:33:03人气:作者:快盘下载我要评论

Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率。Springboot对于数据访问层,不管是 SQL还是 NOSQL,Spring Boot 底层都是采用 Spring Data 的方式统一处理。

springBoot默认日志系统和日志快速上手简单配置

Spring Boot默认日志系统

SpringBoot默认的日志实现是使用slf4j+logback,这种实现类似于JDBC + 数据库驱动(统一接口+实现类)。

Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置,LogBack默认将日志打印到控制台上。

默认配置

日志级别从低到高分为:

TRACE < DEBUG < INFO < WARN < ERROR < FATAL。

如果设置为 INFO ,则低于 INFO 的信息都不会输出其他的依次类推

默认情况下,Spring Boot会用Logback来记录内部日志,并用INFO级别输出到控制台你不用做任何设置

从上图可以看到,日志输出内容元素具体如下:

时间日期:精确到毫秒

日志级别:

进程ID

分隔符:--- 标识实际日志的开始

线程名:方括号括起来(可能会截断控制台输出)

Logger名:通常使用源代码的类名

日志内容

自己程序添加日志

基于类的方式

以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法

这和我们单独使用日志jar包有所不同

package com.fashvn.ctmsdata.logtest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
    private static final Logger logger=LoggerFactory.getLogger(LogTest.class);
    public static void main(String[] args) {
        logger.error("简单的日志记录测试:{}+{}={}",1,2,3);
    }
}

基于注解方式

上面那种方式每次都要重复添加记录器那一行代码这里可以基于注解方式但是需要使用lombok前提你IDEA配置了lombok插件然后maven添加了lombok依赖才可以

package com.fashvn.ctmsdata.logtest;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class LogTest {
    public static void main(String[] args) {
        log.error("简单的日志记录测试:{}+{}={}", 1, 2, 3);
    }
}

现在你就可以愉快的在自己程序了使用日志了

修改配置

您还可以通过启动您的应用程序 --debug 标志来启用“调试”模式(开发的时候推荐开启),以下两种方式皆可:

在运行命令后加入--debug标志,如:$ java -jar springTest.jar --debug在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。

如何你的日志记录需求简单你可以通过springboot提供的属性进行日志的简单配置复杂日志记录功能需要单独定义配置文件

logging:
  # 将日志输出到文件 注意name和path同时使用只会生效后一个配置
  file:
    # 日志名称可以是相对路径和绝对路径
    name:
    #日志路径 可以是相对路径和绝对路径,帮我们自动生成spring.log的日志文件
    path:
    # 日志文件大小默认是10M单位是KB
    max-size:
    # 每天切割打包日志的数量默认是7
    max-history:
  #日志格式
  pattern:
    #输出到日志文件日志格式
    file:
    #输出到控制台日志格式
    #  %clr(%d{${LOG_DATEFORMAT_PATTERN:-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}
    console:
    #时间格式 默认 yyyy-MM-dd HH:mm:ss.SSS
    dateformat:
    #日志等级对齐方式 默认%5p日志级别输出右对齐
    level:
    #切割文件名称 默认是${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz 如过单个日志文件超过定义的大小就切割打包
    rolling-file-name:
  #需要记录日志的等级
  level:
    # 根目录所以class日志记录等级
    root: debug
    # 自定义对应包下class 日志等级
    com.fashvn.ctmsdata: debug

自定义日志配置

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:

Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy

Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml

Log4j2:log4j2-spring.xml, log4j2.xml

JDK (Java Util Logging):logging.properties

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml),命名为logback-spring.xml的日志配置文件,spring boot可以为它添加一些spring boot特有的配置项

如果你即想完全掌控日志配置,但又不想用logback.xml作为Logback配置的名字,application.yml可以通过logging.config属性指定自定义的名字

logging.config=classpath:logging-config.xml

虽然一般并不需要改变配置文件的名字,但是如果你想针对不同运行时Profile使用不同的日志配置,这个功能会很有用。
一般不需要这个属性,而是直接在logback-spring.xml中使用springProfile配置,不需要logging.config指定不同环境使用不同配置文件

logback-demo%d -1 %msg%n%d -2 %msg%n%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%nERROR-->ERRORDENYACCEPT和,那么当天日志是,明天会自动把今天
            的日志改名为今天的日期。即,的日志都是当天的。
        -->${logback.logdir}/info.${logback.appname}.log${logback.logdir}/info.${logback.appname}.%d{yyyy-MM-dd}.log901GB-->UTF-8%d [%thread] %-5level %logger{36} %line - %msg%nError和,那么当天日志是,明天会自动把今天
            的日志改名为今天的日期。即,的日志都是当天的。
        -->${logback.logdir}/error.${logback.appname}.log${logback.logdir}/error.${logback.appname}.%d{yyyy-MM-dd}.log901GB-->UTF-8%d [%thread] %-5level %logger{36} %line - %msg%n

相关文章

  • Spring-Boot-+-Flowable-快速实现工作流

    Spring-Boot-+-Flowable-快速实现工作流,So-Easy!,被分配的老师用户执行后流向 【网关】,网关以此检查每个出口,流向符合条件的任务,比如这里老师执行任务时是同意,就流向【校长】节点,等待该任务执行。act_ru_execution:运行时流程执行实例表,记录运行中流程运行的各个分支信息(当没有子流程时,其数据与act_ru_task表数据是一一对应的);act_ru_task:运行时流程任务节点表,存储运行中流程的任务节点信息,重要,常用于查询人员或部门的待办任务时使用;带有这...
  • 带你玩转SpringCloud实战

    一篇文章带你玩转SpringCloud实战,包含Spring Cloud Netflix以及Spring Cloud Alibaba所有组件...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。