当前位置: 首页 > news >正文

网站logo怎么做透明搜狗seo刷排名软件

网站logo怎么做透明,搜狗seo刷排名软件,sakai wordpress,中国新闻最新消息简要SpringBoot_日志 简介1、日志框架2、SLF4j使用1、如何在系统中使用SLF4j https://www.slf4j.org2、遗留问题 3、SpringBoot日志关系4、日志使用1、默认配置2、指定配置 5、切换日志框架拓展:日志分组 简介 6 种日志级别 TRACE: designates finer-grained informat…

SpringBoot_日志

  • 简介
  • 1、日志框架
  • 2、SLF4j使用
      • 1、如何在系统中使用SLF4j https://www.slf4j.org
      • 2、遗留问题
  • 3、SpringBoot日志关系
  • 4、日志使用
      • 1、默认配置
      • 2、指定配置
  • 5、切换日志框架
  • 拓展:日志分组

简介

6 种日志级别

TRACE: designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。TRACE 一般跟踪的是函数的调用,并且 TRACE 不应该含有变量参数,而仅能提示函数的调用关系。

**DEBUG:**一般用于细粒度级别上,对调试应用程序非常有帮助,主要用于开发过程中打印一些运行信息。

INFO: 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。

WARN: 表示会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员一些提示。该级别表示程序会自动调整到正常的状态,类似参数未传入,使用了默认的参数,仍符合程序员预期之内的情况。

ERROR: 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。一般在 WARN 之后的级别在打印错误时,应该同时打印错误码。

FATAL: 指出每个严重的错误事件将会导致应用程序的退出,这个级别比较高,重大错误,程序无法恢复,必须通过重启程序来解决。

1、日志框架

一个统一的接口层;日志门面(日志的一个抽象层);

给项目中导入具体的日志实现就行了;

市面上的日志框架;

JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j…

日志门面 (日志的抽象层)日志实现
JCL(Jakarta Commons Logging) SLF4j(Simple Logging Facade for Java) jboss-loggingJUL(java.util.logging)、 Log4j2、 Logback

左边选一个门面(抽象层)、右边来选一个实现;

Spring框架默认是用JCL;

SpringBoot选用 SLF4j和logback;

2、SLF4j使用

1、如何在系统中使用SLF4j https://www.slf4j.org

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

给系统里面导入slf4j的jar和 logback的实现jar

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class HelloWorld {public static void main(String[] args) {Logger logger = LoggerFactory.getLogger(HelloWorld.class);logger.info("Hello World");}
}

该例子中,log信息“Hello World”将以info级别输出。
每一个日志的实现框架都有自己的配置文件。使用slf4j以后,配置文件还是做成日志实现框架自己本身的配置文件;

2、遗留问题

springboot(slf4j+logback)、Spring(commons-logging)、Hibernate(jboss-logging)、MyBatis、xxxx

统一日志记录,即使是别的框架和我一起统一使用slf4j进行输出?

如何让系统中所有的日志都统一到slf4j;

1、将系统中其他日志框架先排除出去;

2、用中间包来替换原有的日志框架;

3、我们导入slf4j其他的实现

3、SpringBoot日志关系

实际开发中我们不需要直接添加该依赖,你会发现spring-boot-starter其中包含了 spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 Logback+SLF4J。而 spring-boot-starter-web 包含了spring-boot-starter,所以我们只需要引入web组件即可。

如想显示引入:

	<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></dependency>
@SuppressWarnings("rawtypes")
public abstract class LogFactory {static String UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J = "http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j";static LogFactory logFactory = new SLF4JLogFactory();

如果我们要引入其他框架,一定要把这个框架的默认日志依赖移除掉

​ Spring框架用的是commons-logging;

		<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency>

SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可;

4、日志使用

在类上加上@Sl4j注,可以直接使用logger对象,不用手动创建logger

1、默认配置

SpringBoot默认帮我们配置好了日志;

	//记录器Logger logger = LoggerFactory.getLogger(getClass());@Testpublic void contextLoads() {//System.out.println();//日志的级别;//由低到高   trace<debug<info<warn<error//可以调整输出的日志级别;日志就只会在这个级别以以后的高级别生效logger.trace("这是trace日志...");logger.debug("这是debug日志...");//SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别;root级别logger.info("这是info日志...");logger.warn("这是warn日志...");logger.error("这是error日志...");}
    日志输出格式:%d表示日期时间,%thread表示线程名,%-5level:级别从左显示5个字符宽度%logger{50} 表示logger名字最长50个字符,否则按照句点分割。 %msg:日志消息,%n是换行符-->%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

SpringBoot修改日志的默认配置(按需配置)

logging.level.com.atguigu=trace# 不指定路径在当前项目下(?磁盘根路径?)生成springboot.log日志
logging.path=/spring/log
# 可以用logging.file指定完整的路径,两者同时使用时只有file生效
#logging.file=G:/springboot.loglogging.level.包名=指定包下的日志级别
#  在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n
# 指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n

2、指定配置

上面的是简单配置,下面介绍复杂的配置

给类路径下放上每个日志框架自己的配置文件即可;SpringBoot就不使用他默认配置的了

Logging SystemCustomization
Logbacklogback-spring.xml, logback-spring.groovy, logback.xml or logback.groovy
Log4j2log4j2-spring.xml or log4j2.xml
JDK (Java Util Logging)logging.properties

也可以使用自定义的名称,比如logback-config.xml,只需要在application.properties文件中使用logging.config=classpath:logback-config.xml指定即可。

logback-spring.xml:官方推荐。日志框架就不直接加载日志的配置项,由SpringBoot解析日志配置,可以使用SpringBoot的高级Profile功能

<springProfile name="staging"><!-- configuration to be enabled when the "staging" profile is active -->可以指定某段配置只在某个环境下生效
</springProfile>

Logback基于三个主要类:Logger, Appenders and Layouts(记录器、附加器、布局)

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"><layout class="ch.qos.logback.classic.PatternLayout"><springProfile name="dev"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n</pattern></springProfile><springProfile name="!dev"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ==== [%thread] ==== %-5level %logger{50} - %msg%n</pattern></springProfile></layout></appender>

如果使用logback.xml作为日志配置文件,还要使用profile功能,会有以下错误

no applicable action for [springProfile]

5、切换日志框架

可以按照slf4j的日志适配图,进行相关的切换;

slf4j+log4j的方式;

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>logback-classic</artifactId><groupId>ch.qos.logback</groupId></exclusion><exclusion><artifactId>log4j-over-slf4j</artifactId><groupId>org.slf4j</groupId></exclusion></exclusions>
</dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId>
</dependency>

切换为log4j2

   <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>spring-boot-starter-logging</artifactId><groupId>org.springframework.boot</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

拓展:日志分组

application.properties 中还可以配置日志分组。

日志分组能够把相关的 logger 放到一个组统一管理。

例如我们可以定义一个 tomcat 组:

logging.group.tomcat=org.apache.catalina,org.apache.coyote, org.apache.tomcat
然后统一管理 tomcat 组中的所有 logger:

logging.level.tomcat=TRACE
Spring Boot 中还预定义了两个日志分组 web 和 sql;

不过在 application.properties 中只能实现对日志一些非常简单的配置,如果想实现更加细粒度的日志配置,那就需要使用日志实现的原生配置,例如 Logback 的 classpath:logback.xml,Log4j 的 classpath:log4j.xml 等。如果这些日志配置文件存在于 classpath 下,那么默认情况下,Spring Boot 就会自动加载这些配置文件。


http://www.yidumall.com/news/31332.html

相关文章:

  • 沈阳网站建设bwspire做网络推广怎么找客户
  • wordpress要多少内存佛山网站优化服务
  • 福田网站建设龙岗网站建设罗湖网站建设新媒体营销六种方式
  • 免费做推广的网站有哪些如何宣传自己的网站
  • 苏州退工在哪个网站做附近广告公司联系电话
  • 佛山自助建站软件seo专员是什么意思
  • 批发订货平台网站建设费用百度搜索风云榜下载
  • 做期货的的都喜欢去什么网站专业网店推广
  • B2B网站建设商务排名seo推广具体做什么
  • 做卖衣服网站源代码活动宣传推广方案怎么写
  • 东营网站建设报价最新百度快速排名技术
  • 做的好的茶叶网站好cps推广是什么意思
  • 域名查询 阿里云seo独立站优化
  • 专门做问卷的调查的网站seo排名优化技术
  • 苹果官网首页刷移动关键词优化
  • 网站制作企业首页绍兴seo网站管理
  • 济南网站建站做博客的seo技巧
  • 自动跳转手机网站seo深圳网络推广
  • wordpress 一键复制湖南网站建设推广优化
  • 哪里去找做的好看的网站一个新产品怎么推广
  • wordpress 积分系统西安网站关键词优化费用
  • 商业网站网站建设直销产业发展论坛
  • 淄博网站建设制作百度关键字优化精灵
  • 网站做任务赚佣金怎么在百度上设置自己的门店
  • 广州网站营销优化开发上海百度推广优化排名
  • 公司门户网站开发汕头seo
  • 重庆汽车网站建设抖音关键词排名优化
  • 怎么找做网站的客户怎么样建一个网站
  • 深圳品牌营销网站建设合肥网
  • 什么网站做宣传好好的推广平台