logback日志记录器

logback日志记录器

logback介绍

logback是log4j团队创建的开源日志组件,与log4j类似但是比log4j更强大,是log4j的改良版本。主要优势在于:

a) 更快的实现,logback内核重写过,是的性能有了很大的提升,内存占用也更小。

b) logback-classic对slf4j进行了更好的集成

c) 自动重新加载配置文件,当配置文件修改后,logback-classic能自动重新加载配置文件

d) 配置文件能够处理不同的情况,开发人员在不同的环境下(开发,测试,生产)切换的时候,不需要创建多个

​ 文件,可以通过标签来实现

e) 自动压缩已经打出来的日志文件:RollingFileAppender在产生新文件的时候,会自动压缩已经打印出来的日志

​ 文件。而且这个压缩的过程是一个异步的过程。

logback.xml

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
 <configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->  
    <property name="LOG_HOME" value="${catalina.base:-.}/logs/" />  
    <!-- 控制台输出 -->   
    <appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender">
       <!-- 日志输出编码 -->  
        <layout class="ch.qos.logback.classic.PatternLayout">   
             <!--
				      日志输出格式:
			            %d表示日期时间,
			            %thread表示线程名,
			            %-5level:级别从左显示5个字符宽度
			            %logger{50} 表示class的全名最长50个字符,否则按照句点分割
			            %msg:日志消息
			            %n是换行符
			--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   
            </pattern>   
        </layout>   
    </appender>   
    <!-- 按照每天生成日志文件 -->   
    <appender name="RollingFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">   
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern>   
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>   
        <layout class="ch.qos.logback.classic.PatternLayout">  
           <!--
				      日志输出格式:
			            %d表示日期时间,
			            %thread表示线程名,
			            %-5level:级别从左显示5个字符宽度
			            %logger{50} 表示class的全名最长50个字符,否则按照句点分割
			            %msg:日志消息
			            %n是换行符
			--> 
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n   
            </pattern>   
       </layout> 
        <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <MaxFileSize>10MB</MaxFileSize>
       </triggeringPolicy>
    </appender>     

    <!-- 日志输出级别 -->
    <root level="DEBUG">   
        <appender-ref ref="Stdout" />   
        <appender-ref ref="RollingFile" />   
    </root> 



<!--日志异步到数据库 -->  
<!--     <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
        日志异步到数据库 
        <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
           连接池 
           <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
              <driverClass>com.mysql.jdbc.Driver</driverClass>
              <url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
              <user>root</user>
              <password>root</password>
            </dataSource>
        </connectionSource>
  </appender> -->

</configuration>
相关推荐
【D'accumulation】10 分钟前
典型的MVC设计模式:使用JSP和JavaBean相结合的方式来动态生成网页内容典型的MVC设计模式
java·设计模式·mvc
wn53120 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
试行25 分钟前
Android实现自定义下拉列表绑定数据
android·java
茜茜西西CeCe30 分钟前
移动技术开发:简单计算器界面
java·gitee·安卓·android-studio·移动技术开发·原生安卓开发
bjzhang7530 分钟前
SpringBoot开发——集成Tess4j实现OCR图像文字识别
spring boot·ocr·tess4j
Hello-Mr.Wang32 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
救救孩子把35 分钟前
Java基础之IO流
java·开发语言
flying jiang35 分钟前
Spring Boot 入门面试五道题
spring boot
WG_1736 分钟前
C++多态
开发语言·c++·面试
小菜yh36 分钟前
关于Redis
java·数据库·spring boot·redis·spring·缓存