`

logback xml配置中常用标签使用解析

阅读更多

以下内容为个人理解及使用总结,希望能帮助到你

Logback 配置理解:

Logback使用主要依赖于LoggerAppender  Layout 这三个类之上。

     Logger:记录日志是使用,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。

Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、数据库等。

Layout:负责把事件转换成字符串,格式化的日志信息的输出。

 

1、关于配置文件使用顺序:

logback 首先在项目根目录查找 logback.groovy,如果没有则使用logback-test.xml,如果没有logback-test.xml,使用 logback.xml 如果以上三个都没有则输出到控制台。(我是用的是logback[-test].xml

2、根节点 configuration

configuration 有三个可选属性:

    ascan属性:用来设置配置文件变动时是否重新加载,值是 true\false ,默认是true配置变动时重新加载

    bscanPeriod属性:用来设置每隔多久检查一次配置是否变动,默认是1分钟,默认单位是毫秒

    cdebug属性:用来设置是否将logback内部的日志打印出来,即启动时输出配置加载信息。值为true\false 默认为false

3property 节点:

       设置要使用的或者共用的变量,property包含两个属性namevalue;其中name的值是变量的名称,value的值是变量所代表的值。<property>定义的值可以使用${变量名}”到logger上下文中。例如:

       

<!--定义log日志输出文件的目录-->
<property name="outFilePath" value="E:/个人/demo/logs/demo.log" />
<!--定义日志输出格式-->
<property name="enPattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
<appender name="STDOUT" class="ch.qos.logback.core.FileAppender">
        <file>${outFilePath}</file>
        <append>true</append>
        <encoder charset="UTF-8">
            <pattern>${enPattern}</pattern>
        </encoder>
</appender>

 

上述例子中Property定义的outFilePath、enPatternappender节点中的file节点中使用。这样写方便统一调整日志输出的目录。

4appender节点可以有多个,分别针对不同的包或者类做不同的输出,如果appender输出到文件时,可以设置append子节点值true\false,是末尾追加日志还是替换日志,值为true时表示追加。

可以在appender中使用filter节点(过滤器),在此节点内过滤日志级别(使用level节点指定),过滤后会返回一个枚举值,即DENYNEUTRALACCEPT其中之一:

    A、返回DENY,日志将立即被抛弃不再经过其他过滤器;

    B、返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;

    C、返回ACCEPT,日志会被立即处理,不再经过剩余过滤器

如果需要使用这些值做处理时,需要使用onMatchlevel级别或大于level级别的)onMismatch(级别小于level级别的)

5、logger节点:

用来设置某一个包或者具体的某一个类的日志打印级别、以及指定appenderlogger仅有一个name属性和两个可选的level addtivity属性。

Name属性:用来指定受此logger约束的某一个包或者具体的某一个类。

Level属性:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR

如果未设置此属性,那么当前logger将会继承上级的级别。

Addtivity属性:用来设置是否向上级logger传递打印信息。默认是true

logger可以包含零个或多个appender-ref元素,标识这个appender将会添加到这个logger

6、root节点:

也是<loger>元素,但是它是根loger。只有一个level属性,应为已经被命名为"root".

Level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR。默认是DEBUG

root可以包含零个或多个appender-ref元素,标识这个appender将会添加到这个loger

7pattern节点定义的输出模式解释:

%d{HH:mm:ss.SSS}  当前时间;

[%thread]  [当前线程名称]

%-5level  logger级别

%logger{36} logger名称

-%msg%n  定义的输出

%line   输出日志的行号

%n 换行

%date%d{yyyy-MM-dd HH:mm:ss.SSS}   当前时间包含年月日

{%C.java:%L} 输出日志所在的java类、所在行及路径可以替换[%thread]

 

官方参考:http://logback.qos.ch/manual/index.html

0
0
分享到:
评论

相关推荐

    可以解析html文档内容的工程

    - logback.xml:日志配置文件,定义了日志记录的级别、格式和目的地。 - crawlsys.xml:可能是整个爬虫系统的主配置文件,包含了爬虫的设置、规则和行为定义。 - log:日志文件夹,存储程序运行时产生的日志信息。 -...

    java常用类库中文速查表

    你可以轻松地使用它来加载和解析配置文件。该类库的下载地址是:***。 Commons BeanUtils类库是专门用于操作JavaBean的工具类,它提供了一系列操作Bean属性的方法,例如属性的获取、设置、复制、填充等。这在开发中...

    配置 Hibernate 日志

    【标签】:“源码”与“工具”表明这篇博客可能涉及 Hibernate 源码解析,并提供了一种实用的日志配置方法。 【压缩包子文件的文件名称列表】:由于没有具体的文件名,我们可以假设其中包含有关日志配置的示例代码...

    spring就是这么简单的源码,运行可能需要配置

    5. **AOP配置**:如果项目中使用了AOP,你需要配置切面,包括切点(Pointcut)、通知(Advice)和代理(Proxy)。这通常涉及到`@Aspect`注解的类和`@Before`、`@After`等方法注解。 6. **数据库连接**:如果你的...

    SpringBoot开发的人事管理系统源码,包含前后端.zip

    学习如何在视图解析器中配置Thymeleaf,并编写Thymeleaf模板文件,理解th:标签的使用。 4. **数据库集成**:Spring Boot可以方便地与各种数据库进行集成,如MySQL、Oracle等。这里可能使用了JPA(Java Persistence ...

    Java基于SSM大学生综合成绩测评系统毕业源码案例设计.zip

    【标签解析】 由于没有给出具体的标签,我们可推测一些可能的相关标签,如"Java开发"、"SSM框架"、"Web应用"、"成绩管理系统"、"毕业设计"、"源码示例"等。这些标签有助于分类和搜索,方便其他开发者找到类似的主题...

    Java 常用jar包.zip

    JSTL提供了一系列的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中编写过多的Java脚本。例如,fmt标签库用于格式化日期和数字,fn标签库提供了数组和集合操作,sql标签库则可以执行SQL...

    基于ssm中小型企业财务管理系统.zip

    3. **src/main/webapp**:Web应用目录,包含静态资源(如CSS、JavaScript、图片)、Web-INF目录下的web.xml(Web应用配置文件)以及视图解析器配置。 4. **pom.xml**:Maven的项目对象模型文件,定义了项目的依赖、...

    基于ssm南阳特产销售平台.zip

    3. **MyBatis**:MyBatis是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供了动态SQL和强大映射功能,方便数据库操作。 4. **Java Web开发**:项目基于Java Web技术,涉及到Servlet、JSP、...

    基于springboot的智慧校园之家长孩子系统源码数据库.zip

    【标签解析】 1. "毕业设计" - 指示这个项目可能是大学毕业生为了完成学业而进行的设计,可能包含了完整的业务流程和功能实现,适合初学者学习和参考。 2. "Java" - 表明该项目是用Java语言编写的,Java作为服务器端...

    基于SSM和SpringBoot+mybatis的宿舍管理系统.zip

    在【标签】中,虽然没有具体的标签信息,但我们可以根据标题推测出一些关键标签,如“Java开发”、“Web应用”、“数据库管理”、“Spring全家桶”和“微服务”。 【压缩包子文件的文件名称列表】中的"content1...

    基于SpringBoot的农商对接系统源码数据库.zip

    【标签解析】 - "毕业设计":这表明该系统可能是某位学生的毕业设计作品,通常这类项目会涵盖全面的软件开发流程,包括需求分析、设计、编码、测试等,适合初学者学习和参考。 - "java":说明该系统主要使用Java语言...

    基于SSM的平面设计在线学习系统源码.zip

    【标签解析】 "毕业设计"标签表明这个项目可能是作为高校学生的毕业作品完成的,通常这样的项目具有一定的完整性和实用性,但可能在复杂度和规模上相对较小,适合初学者理解和学习。 "Java"标签说明整个系统是用Java...

    基于springboot医院固定资产系统.zip

    【标签解析】 - "毕业设计":表明这是一个学生在毕业时完成的项目,可能包含了一整套的软件工程流程,如需求分析、系统设计、编码、测试等。 - "Java":该项目主要使用Java语言进行开发,Java是企业级应用的首选语言...

    Java项目-基于SSM的华奥汽车销售集团网源码.zip

    【标签解析】 "java 软件/插件" 标签进一步确认了项目的技术栈以Java为主,并且可能包含了一些软件或插件的开发和应用,可能涉及到数据库连接池、日志管理、服务器部署等方面。 【压缩包子文件解析】 1. "说明.txt...

    基于ssm的宿舍管理系统.zip

    4. **SSM**:Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的组合。 5. **微信小程序**:这可能意味着系统还集成了微信小程序接口,允许用户通过微信小程序进行宿舍管理操作,提高了系统的移动友好性...

    基于SpringBoot的Hadoop-Yarn资源监控系统源码.zip

    通常,一个Java项目中,master分支代表主要的开发分支,可能包含`pom.xml`(Maven的项目配置文件)、`src/main/java`(源代码目录)、`src/main/resources`(资源配置)、`README.md`(项目说明)等文件和目录。...

    Jbpm4.4 整合Spring Hibernate4

    **标签解析:** "源码"标签表示这个项目可能包含了实际的代码示例,用户可以通过阅读和分析这些代码来学习如何进行整合。"工具"标签则暗示了这可能是一个用于开发或测试的工具集合,帮助开发者更好地理解和操作整合...

    SSM框架管理系统

    这需要设计合理的数据库表结构,并通过MyBatis编写对应的Mapper接口和XML配置文件,实现数据的CRUD操作。 3. **客户分类与标签**:可能包含对客户进行分类和打标签的功能,以方便管理和分析。这可能需要用到多对多...

    java本科毕业设计-基于RFID技术的国有资产管理系统源码-后台项目.zip

    它预配置了许多常用功能,如嵌入式Tomcat服务器、数据访问、安全等,让开发者能快速构建稳定且高效的Web服务。 3. Maven构建工具: pom.xml文件表明该项目使用Maven进行构建和依赖管理。Maven是一个项目管理和综合...

Global site tag (gtag.js) - Google Analytics