以下内容为个人理解及使用总结,希望能帮助到你
Logback 配置理解:
Logback使用主要依赖于Logger、Appender 和 Layout 这三个类之上。
Logger:记录日志是使用,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。
Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、数据库等。
Layout:负责把事件转换成字符串,格式化的日志信息的输出。
1、关于配置文件使用顺序:
logback 首先在项目根目录查找 logback.groovy,如果没有则使用logback-test.xml,如果没有logback-test.xml,使用 logback.xml 如果以上三个都没有则输出到控制台。(我是用的是logback[-test].xml)
2、根节点 configuration:
configuration 有三个可选属性:
a、scan属性:用来设置配置文件变动时是否重新加载,值是 true\false ,默认是true即配置变动时重新加载
b、scanPeriod属性:用来设置每隔多久检查一次配置是否变动,默认是1分钟,默认单位是毫秒
c、debug属性:用来设置是否将logback内部的日志打印出来,即启动时输出配置加载信息。值为true\false 默认为false
3、property 节点:
设置要使用的或者共用的变量,property包含两个属性name和value;其中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、enPattern在appender节点中的file节点中使用。这样写方便统一调整日志输出的目录。
4、appender节点可以有多个,分别针对不同的包或者类做不同的输出,如果appender输出到文件时,可以设置append子节点值true\false,是末尾追加日志还是替换日志,值为true时表示追加。
可以在appender中使用filter节点(过滤器),在此节点内过滤日志级别(使用level节点指定),过滤后会返回一个枚举值,即DENY,NEUTRAL,ACCEPT其中之一:
A、返回DENY,日志将立即被抛弃不再经过其他过滤器;
B、返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;
C、返回ACCEPT,日志会被立即处理,不再经过剩余过滤器
如果需要使用这些值做处理时,需要使用onMatch(level级别或大于level级别的)和onMismatch(级别小于level级别的)
5、logger节点:
用来设置某一个包或者具体的某一个类的日志打印级别、以及指定appender。logger仅有一个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
7、pattern节点定义的输出模式解释:
%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
相关推荐
- logback.xml:日志配置文件,定义了日志记录的级别、格式和目的地。 - crawlsys.xml:可能是整个爬虫系统的主配置文件,包含了爬虫的设置、规则和行为定义。 - log:日志文件夹,存储程序运行时产生的日志信息。 -...
你可以轻松地使用它来加载和解析配置文件。该类库的下载地址是:***。 Commons BeanUtils类库是专门用于操作JavaBean的工具类,它提供了一系列操作Bean属性的方法,例如属性的获取、设置、复制、填充等。这在开发中...
【标签】:“源码”与“工具”表明这篇博客可能涉及 Hibernate 源码解析,并提供了一种实用的日志配置方法。 【压缩包子文件的文件名称列表】:由于没有具体的文件名,我们可以假设其中包含有关日志配置的示例代码...
5. **AOP配置**:如果项目中使用了AOP,你需要配置切面,包括切点(Pointcut)、通知(Advice)和代理(Proxy)。这通常涉及到`@Aspect`注解的类和`@Before`、`@After`等方法注解。 6. **数据库连接**:如果你的...
学习如何在视图解析器中配置Thymeleaf,并编写Thymeleaf模板文件,理解th:标签的使用。 4. **数据库集成**:Spring Boot可以方便地与各种数据库进行集成,如MySQL、Oracle等。这里可能使用了JPA(Java Persistence ...
【标签解析】 由于没有给出具体的标签,我们可推测一些可能的相关标签,如"Java开发"、"SSM框架"、"Web应用"、"成绩管理系统"、"毕业设计"、"源码示例"等。这些标签有助于分类和搜索,方便其他开发者找到类似的主题...
JSTL提供了一系列的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中编写过多的Java脚本。例如,fmt标签库用于格式化日期和数字,fn标签库提供了数组和集合操作,sql标签库则可以执行SQL...
3. **src/main/webapp**:Web应用目录,包含静态资源(如CSS、JavaScript、图片)、Web-INF目录下的web.xml(Web应用配置文件)以及视图解析器配置。 4. **pom.xml**:Maven的项目对象模型文件,定义了项目的依赖、...
3. **MyBatis**:MyBatis是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,提供了动态SQL和强大映射功能,方便数据库操作。 4. **Java Web开发**:项目基于Java Web技术,涉及到Servlet、JSP、...
【标签解析】 1. "毕业设计" - 指示这个项目可能是大学毕业生为了完成学业而进行的设计,可能包含了完整的业务流程和功能实现,适合初学者学习和参考。 2. "Java" - 表明该项目是用Java语言编写的,Java作为服务器端...
在【标签】中,虽然没有具体的标签信息,但我们可以根据标题推测出一些关键标签,如“Java开发”、“Web应用”、“数据库管理”、“Spring全家桶”和“微服务”。 【压缩包子文件的文件名称列表】中的"content1...
【标签解析】 - "毕业设计":这表明该系统可能是某位学生的毕业设计作品,通常这类项目会涵盖全面的软件开发流程,包括需求分析、设计、编码、测试等,适合初学者学习和参考。 - "java":说明该系统主要使用Java语言...
【标签解析】 "毕业设计"标签表明这个项目可能是作为高校学生的毕业作品完成的,通常这样的项目具有一定的完整性和实用性,但可能在复杂度和规模上相对较小,适合初学者理解和学习。 "Java"标签说明整个系统是用Java...
【标签解析】 - "毕业设计":表明这是一个学生在毕业时完成的项目,可能包含了一整套的软件工程流程,如需求分析、系统设计、编码、测试等。 - "Java":该项目主要使用Java语言进行开发,Java是企业级应用的首选语言...
【标签解析】 "java 软件/插件" 标签进一步确认了项目的技术栈以Java为主,并且可能包含了一些软件或插件的开发和应用,可能涉及到数据库连接池、日志管理、服务器部署等方面。 【压缩包子文件解析】 1. "说明.txt...
4. **SSM**:Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的组合。 5. **微信小程序**:这可能意味着系统还集成了微信小程序接口,允许用户通过微信小程序进行宿舍管理操作,提高了系统的移动友好性...
通常,一个Java项目中,master分支代表主要的开发分支,可能包含`pom.xml`(Maven的项目配置文件)、`src/main/java`(源代码目录)、`src/main/resources`(资源配置)、`README.md`(项目说明)等文件和目录。...
**标签解析:** "源码"标签表示这个项目可能包含了实际的代码示例,用户可以通过阅读和分析这些代码来学习如何进行整合。"工具"标签则暗示了这可能是一个用于开发或测试的工具集合,帮助开发者更好地理解和操作整合...
这需要设计合理的数据库表结构,并通过MyBatis编写对应的Mapper接口和XML配置文件,实现数据的CRUD操作。 3. **客户分类与标签**:可能包含对客户进行分类和打标签的功能,以方便管理和分析。这可能需要用到多对多...
它预配置了许多常用功能,如嵌入式Tomcat服务器、数据访问、安全等,让开发者能快速构建稳定且高效的Web服务。 3. Maven构建工具: pom.xml文件表明该项目使用Maven进行构建和依赖管理。Maven是一个项目管理和综合...