栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java】# 在项目中使用SLF4J+Logback来记录日志

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java】# 在项目中使用SLF4J+Logback来记录日志

1. 简介 1.1 SLF4J概述

SLF4J 代表 Simple Logging Facade for Java。相当于一个门面,提供了 Java 中所有日志框架的简单抽象。

  • 使用 SLF4J 框架,可以在部署时,迁移到所需的日志记录框架(如 Log4j, JUL, Simple logging,NOP等)
  • SLF4J 支持参数化日志记录消息
  • SLF4J提供了一个简单的Java工具,称为迁移器。

日志严重程度:

序号严重程度描述
1Fatal导致应用程序终止的严重问题
2ERROR运行时错误
3WARNING大多数情况下,这种级别的错误是由于使用了已弃用的API
4INFO运行时发生的事件
5DEBUG有关系统流程的信息
6TRACE有关系统流程的更多详细信息

SLF4J 和 Log4j的关系:

1.2 Logback概述

Logback 分为三个不同的模块,logback-core(核心代码模块),logback-classic(log4j的一个改良版本,同时实现了slf4j的接口,这样如果之后要切换其他日志组件也是一件很容易的事),logback-access(访问模块与Servlet容器集成提供通过Http来访问日志的功能)

Logger 和 LoggerFactory 是 SLF4J包中的类 , LoggerContext 的作用是获得内部状态信息

logback在启动的时候,会按照下面的顺序加载配置文件(只要获取到配置之后就不再继续获取了)

  • 如果Java程序启动时指定了logback.configurationFile属性,就用该属性指定的配置文件。
    • 如java -D logback.configurationFile=/path/myLogback.xml Test,这样执行Test类的时候就会加载/path/myLogback.xml配置
  • 在classpath(resources目录下)中查找 logback.groovy 文件
  • 在classpath中查找 logback-test.xml 文件
  • 在classpath中查找 logback.xml 文件
  • 如果是 JDK6+,那么会调用ServiceLoader 查找 com.qos.logback.classic.spi.Configurator接口的第一个实现类
  • 自动使用 ch.qos.logback.classic.BasicConfigurator 在控制台输出日志
2. 项目中进行使用

使用 Maven进行快速开发

2.1 导入依赖

    org.slf4j
    slf4j-api
    1.7.25   



    ch.qos.logback
    logback-classic
    1.2.3  

2.2 在resources目录下添加logback.xml

示例文件:




    
	

	
    
    
     
    
    
    
        
        
        
			${console.pattern}
		
	

	
    
    
	
	    ${log.path}/sys-info.log
        
		
            
			${log.path}/sys-info.%d{yyyy-MM-dd}.log
			
			30
		
		
			${log.pattern}
		
        
        
        
		
            
            INFO
            
            ACCEPT
            
            DENY
        
	

	
	    ${log.path}/sys-error.log
        
        
            
            ${log.path}/sys-error.%d{yyyy-MM-dd}.log
			
			40
        
        
            ${log.pattern}
        
        
            
            ERROR
			
            ACCEPT
			
            DENY
        
    

	
    
    
	            

    
	
        
		
	

	
    
        
        
    

2.3 代码中使用
public class Main {
    static final Logger logger = LoggerFactory.getLogger(Main.class);

    public static void main(String[] args) {
        logger.info("{}", "测试信息");
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/967144.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号