spring 日志框架
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于spring 日志框架内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在spring 日志框架相关知识领域提供全面立体的资料补充。同时还包含 safari浏览器、samba、SAMP 的知识内容,欢迎查阅!
spring 日志框架相关知识
-
Spring Boot日志框架实践概述 Java应用中,日志一般分为以下5个级别: ERROR 错误信息 WARN 警告信息 INFO 一般信息 DEBUG 调试信息 TRACE 跟踪信息 Spring Boot使用Apache的Commons Logging作为内部的日志框架,其仅仅是一个日志接口,在实际应用中需要为该接口来指定相应的日志实现。 SpringBt默认的日志实现是Java Util Logging,是JDK自带的日志包,此外SpringBt当然也支持Log4J、Logback这类很流行的日志实现。 统一将上面这些日志实现统称为日志框架 下面我们来实践一下! 使用Spring Boot
-
Spring Boot + Log4j2 日志框架配置 (Maven)参考Spring Boot官方文档 日志部分Spring Boot默认情况下,当使用"Starters" 使用Logback输出日志, 还包括适当的Logback路由, 确保其他的日志框架(Java Util Logging, Commons Logging, Log4j, SLF4J)都能正常使用Sping Boot文档的 26.5 Custom Log Configuration 章节,说明了自定义日志配置方法多样的日志系统可以通过添加适当的日志框架库到classpath适当的配置配置文件加入到classpath的根目录 或者 其他的本地目录, 使用Spring配置 loggin.config 配置指定配置文件依赖于开发者选择的日志框架. 这些对应的配置文件会被加载日志框架配置文件Logbacklogback-spring.xml, logback-spring.groovy, logback.xml, logback.groovyLog4j2log4j2-spring.x
-
Springboot 系列(四)Spring Boot 日志框架全解析文章已经收录在 Github.com/niumoo/JavaNotes ,更有 Java 程序员所需要掌握的核心知识,欢迎Star和指教。 注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别。 前言 Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框架呢?在对于不同的第三方 jar 使用了不同的日志框架的时候,我们该怎么处理呢? <!-- more --> 1. 日志
-
『互联网架构』软件架构-Spring boot集成日志框架Java 有很多日志系统,例如,Java Util Logging, Log4J, Log4J2, Logback 等。Spring Boot 也提供了不同的选项,比如日志框架可以用 logback 或 log4j ,log4j2等。 日志系统 springboot自带log日志功能 使用的是slf4j(Simple Logging Facade For Java),它是一个针对于各类Java日志框架的统一Facade抽象。Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。这是默认支持logback的原因。日志实现默认使用的logback。
spring 日志框架相关课程
spring 日志框架相关教程
- 2. log4j 日志框架 企业级的项目都会标配日志子系统。日志系统可以记录项目运行过程的所有信息,通过这些信息可以很方便帮助开发人员找到项目运行过程的问题。日志系统也可以记载用户的使用记录,这些信息可以帮助开发者分类、归纳用户的使用入口,更好的维护系统的安全性。除此之外,日志信息还有更多其它用途。众多流行、优秀的日志框架中,本课程主推 log4j。log4j 日志系统有两个版本,使用时有很大差异性。基于 Spring 5.X 版本的项目中建议使用 log4j 2 版本。
- 2.1 添加日志框架 本小节主要介绍在 Spring MVC 项目中如何集成 log4j 2 日志系统。打开项目的 pom.xml 文件,添加 log4j 的依赖包;<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.10.0</version></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.10.0</version></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.10.0</version></dependency>Tips: 这里有 3 个依赖包,log4j-web 是针对于 WEB 应用程序的依赖包。新建名为 log4j2.xml 的配置文件;Tips: log4j2 不再支持 properties 格式的文件,只支持 xml,json 或是 yaml,不指定位置的情况下默认在 src/main/resources 下查找。提供如下最基础的配置内容:<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{yyyy/MM/dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> <RollingRandomAccessFile name="smlog" fileName="sm.log" filePattern="$${date:yyyy-MM}/sm-%d{yyyy-MM-dd}-%i.log.gz"> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /> <Policies> <TimeBasedTriggeringPolicy /> <SizeBasedTriggeringPolicy size="10 MB" /> </Policies> <DefaultRolloverStrategy max="20" /> </RollingRandomAccessFile> </Appenders> <Loggers> <Logger name="org.springframework" level="DEBUG" /> <Root level="info"> <AppenderRef ref="Console" /> <AppenderRef ref="smlog" /> </Root> </Loggers></Configuration>log4j2 配置内容简要说明:Appender: 信息输出位置,可以有多个输出口。 SYSTEM_OUT 的目标是 Console 。表示把日志内容输出到控制台上。Root Logger 的级别是 info。所有 info 及以上级别的日志才会记录;Tips: 日志级别分别有 TRACE、 DEBUG 、NFO 、WARN 、ERROR 、 FATAL 这几种,日志级别从左向右依次增加。日志信息的输出由当前日志级别决定,只有比当前级别高的信息才能输出。RollingRandomAccessFile: 表示以文件方式记录。可以设置日志文件的文件名以及格式,一般会加上时间戳;Tips: 本文侧重于讲解在 Spring MVC 项目中如何使用 log4j 日志系统。log4j 其它的配置信息大家可以查阅官方文档: 。如果希望日志信息既输出到控制台,又能输出到文件中,务必使用 AppenderRef 标签引用控制台配置名称和文件配置名称。<Root level="info"> <AppenderRef ref="Console" /> <AppenderRef ref="smlog" /></Root>log4j2 的配置文件开发者可以根据需要存放在其它位置,但需要在 web.xml 文件中配置 log4j 提供的监听器。<context-param> <param-name>log4jConfiguration</param-name> <param-value>classpath:log4j2.xml</param-value></context-param><listener> <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class></listener>Tips: 最佳方案是把 log4j 的 log4j2.xml 配置文件放在默认位置,避开上面的配置。Servlet2.5 以上,可以不用配置监听器。使用测试。使用很简单,在你需要使用日志的地方,创建一个日志对象。public class Test { static Logger logger = LogManager.getLogger(Test.class); public static void main(String[] args) { logger.info("info","messgae"); }}运行上面代码,除了在控制台上输出信息外,且还会把内容写入到日志文件中。日志对象的 i 常用方法如下:debug():输出 debug 级别信息;error():输出 error 级别的信息;fatal():输出 fatal 级别的信息;info():输出 info 级别的信息;trace():输出 trace 级别的信息;warn():输出 warn 级别的信息。以上几个方法除了语义上的区别,使用起来没有本质的区别。通过语义上的差异性,log4j 可以控制信息的输出级别。
- 2.3 输出日志文件 控制台日志保存的内容十分有限,大多数情况下我们需要将日志写入文件,便于追溯。可以通过配置文件指定日志文件,如下配置会将日志打印到 C:\\logs\\spring-boot-log.log 文件中。实例:# 设置日志文件logging.file=C:\\logs\\spring-boot-log.log也可以指定日志文件输出的目录, Spring Boot 项目会在指定输出目录下新建 spring.log 文件,并在文件中写入日志。实例:# 设置日志目录logging.path=C:\\logsTips:如果同时配置了 logging.file 和 ogging.path ,则只有 logging.file 生效。
- 2.1 默认日志配置 Spring Boot 默认已经集成了日志功能,使用的是 logback 开源日志系统。我们新建一个项目,Spring Boot 版本选择 2.2.5 ,Group 为 com.imooc , Artifact 为 spring-boot-log。生成项目后导入 Eclipse 开发环境,然后运行启动类,可以清楚地看到控制台打印的日志信息。Spring Boot 日志默认级别是 INFO ,下图也输出了几条 INFO 级别的日志。Spring Boot 项目启动时控制台输出的内容Spring Boot 默认的日志输出内容含义如下:日期时间:精确到毫秒。日志级别:打印 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 等级别日志信息。进程 ID:当前项目进程 ID 。分隔符:--- 是分隔符,分隔符后面代表具体的日志内容。线程名:方括号中间的内容表示线程名称。类名:当前日志打印所属的类名称。日志内容:开发人员设定的日志具体内容。
- 6. 独立记录 error 日志 若在 config\log.php 中配置如下内容:Tips: 其中 error 值表示开启 error 日志记录,程序发生异常时框架底层会自动记录到 error 日志中。这里以之前 ExceptionController 类为例,注释掉异常捕获代码:<?phpnamespace app\controller\Study;use app\BaseController;use app\controller\Service\StudentService;use think\facade\Log;class ExceptionController extends BaseController{ public function testException() {// try{ $studentService = new StudentService(); $studentService->update();// }catch(\Exception $exception){// Log::write($exception->getMessage(),'test');// return json("内部错误:".$exception->getMessage());// } return json("请求成功"); }}如下图所示:请求接口之后,如下图所示展示的主动打印的日志内容:
- 2.2 Spring Security 和同类型框架的比较 Java 环境下有两大安全框架:Spring Security 和 Shiro。和 Spring Security 一样,Shiro 同样隶属于一个强大的软件社区: Apache。二者的功能类似,都完成了认证和鉴权功能,都有超过十年的发展历史。Shiro 是一个独立的安全框架,Spring Security 则与 Spring 关联紧密,所以在二者的选择上,可以简单的用如下原则区分:如果我们开发 Spring Boot 项目,那优先建议使用 Spring Security 安全框架。如果我们开发其他类型的项目,那请使用 Shiro 作为安全框架。Spring Security 安全框架适合为 Spring Boot 项目提供安全保护,所以如果您是个 Spring Boot 项目的开发人员,且正在寻找一种可以和 Spring Boot 轻松集成的,用于认证和鉴权的框架时,可以优先考虑 Spring Security。
spring 日志框架相关搜索
-
s line
safari浏览器
samba
SAMP
samplerate
sandbox
sanitize
saper
sas
sass
save
smarty模板
smil
smtp
snapshot
snd
snmptrap
soap
soapclient
soap协议