1. 程式人生 > >logback日誌

logback日誌

clas http cor qos cnblogs eap .get 第三方 sed

一、什麽是日誌框架?

是一套能夠實現日誌輸出的工具包

能夠描述系統運行狀態的所有時間都可以算作日誌

用戶下線,接口超時,數據崩潰

二、日誌框架的能力

1、定制輸出目標(文件,回滾策略,數據庫,網絡的第三方)

2、定制輸出格式

3、攜帶的上下文信息(時間戳,類路徑,調用線程,堆棧)

4、運行時選擇性輸出

5、靈活的配置

6、優異的性能

三、常見的日誌框架

1jdk 自帶的 JUL

2apache 自帶的 JCL

3Log4j

4Log4j2

5Logback

6SLF4j

7jboss-logging

日誌門面:JCLSLF4jjboss-logging(不是服務於大眾)

日誌實現:Log4jLog4j2apache生產,太先進了,復雜性上過渡設計)、LogbackJUL(實現簡陋)

四、如何使用

private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);

logger.debug(“debug...”);

技術分享

@Slf4j

Lombok

log.info(“name: “+ name +”, password:” + password);

log.info(“name: {}, password:{}”, name, password);

1

Application.yml配置

Logging:

Pattern:

Console: “%d - %msg%n”

File: /var/log/tomcat/a.log

Level:

Com.imooc.LoggerTest: debug

2、Logback-spring.xml配置

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>

<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">

<layout class="ch.qos.logback.classic.PatternLayout">

<pattern>

%d - %msg%n

</pattern>

</layout>

</appender>

<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.LevelFilter">

<level>ERROR</level>

<onMatch>DENY</onMatch>

<onMismatch>ACCEPT</onMismatch>

</filter>

<encoder>

<pattern>

%msg%n

</pattern>

</encoder>

<!--滾動策略-->

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--路徑-->

<fileNamePattern>/var/log/tomcat/sell/info.%d.log</fileNamePattern>

</rollingPolicy>

</appender>

<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">

<level>ERROR</level>

</filter>

<encoder>

<pattern>

%msg%n

</pattern>

</encoder>

<!--滾動策略-->

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<!--路徑-->

<fileNamePattern>/var/log/tomcat/sell/error.%d.log</fileNamePattern>

</rollingPolicy>

</appender>

<root level="info">

<appender-ref ref="consoleLog" />

<appender-ref ref="fileInfoLog" />

<appender-ref ref="fileErrorLog" />

</root>

</configuration>

logback日誌