1. 程式人生 > >使用SLF4J 實現熱載入日誌級別

使用SLF4J 實現熱載入日誌級別

官網連結:http://www.slf4j.org/        

簡單的例子參考:http://download.csdn.net/detail/sxg0205/9337449

logback.xml(該配置檔案必須要放到編譯後的檔案目錄的classes目錄下才會被讀取): 

<?xml version="1.0" encoding="UTF-8"?>
<!-- scanPeriod default 1 minutes 
	milliseconds, seconds, minutes or hours -->
<!-- 	debug為true表示啟動時會在控制檯列印slf4j的啟動日誌,scan為true表示熱載入,scanPeriod表示掃描週期
 	此處即表示專案正常使用過程中會每7秒重新掃描一次該配置檔案-->
<configuration debug="true" scan="true" scanPeriod="7 seconds">

	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
<!-- 			日誌列印格式  時間  日誌級別 -方法名稱 日誌內容-->
			<pattern>%date %level [%thread] %logger - %msg%n</pattern>
		</encoder>
	</appender>

<!--     生成日誌檔案 -->
	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!-- daily rollover   檔名稱 -->
			<fileNamePattern>mediate-service.%d{yyyy-MM-dd}.log</fileNamePattern>
			<!-- keep 30 days' worth of history -->
			<!-- <maxHistory>30</maxHistory> -->
		</rollingPolicy>
		<encoder>
			<pattern>%date %level [%thread] %logger - %msg%n</pattern>
		</encoder>
	</appender>

	<!-- 日誌級別 TRACE, DEBUG, INFO, WARN, ERROR -->
	<root level="DEBUG">
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="FILE" />
	</root>

</configuration>

程式碼配置(測試類):

package slf4j;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class slf4jPrint {

	private static Logger logger = LoggerFactory.getLogger(slf4jPrint.class);
	
	public static void main(String[] args) {
		logger.debug("debug.....{}...{}", 1, 2);
		logger.info("info.....{}", 1);
		
		testPrint();
	}
	
	public static void testPrint() {
		logger.debug("testPrint syso");
	}
}

依賴jar包:


logback.xml載入方式:

專案執行載入到

private static Logger logger = LoggerFactory.getLogger(slf4jPrint.class);時會到依賴包裡尋找指定的配置檔案logback.xml(詳情參見logback-classic包ContextInitializer.class中的配置),故此處配置檔名稱不可變動,載入完成後即可直接呼叫slf4j介面列印日誌;根據實際需要修改配置檔案中的<pre name="code" class="html"><root level="DEBUG">為指定日誌級別,等下次掃描完成後當前日誌級別即會變更為選擇的日誌級別;

相關推薦

使用SLF4J 實現載入日誌級別

官網連結:http://www.slf4j.org/         簡單的例子參考:http://download.csdn.net/detail/sxg0205/9337449 logback.xml(該配置檔案必須要放到編譯後的檔案目錄的classes目錄下才會被

webpack 最簡單的入門教程(基礎的檔案打包以及實現載入

webpack安裝 我們可以用npm安裝webpack,要用npm我們就需要安裝node.js環境,作為我們的平臺。 下載node.js 下載好之後安裝,我們在cmd或者GitBashHere中輸入 npm -v node -v 如果出現版本號

MyEclipse+TomCat+jreloader(破解版)實現載入

2.配置MyEcplise的Tomcat-Xms1024m -Xmx1536m -XX:PermSize=1024m -XX:MaxPermSize=1024m(配置TomCat記憶體空間)-noverify -javaagent:D:\Workspaces\jreloade

MyEclipse/Eclipse+JRebel正式版(破解)實現載入

前端時間我釋出一篇jreloader破解,是直接呼叫破解架包用著非常不舒服,切換專案還需要修改配置檔案。最近我又研究出JRebel正式版的破解方法,該破解支援新增類、新增方法、修改方法、XML修改。內附件jrebel使用教程+破解教程+jrebel外掛包+jrebel破解包+

Spring Boot實現載入(Eclipse,IDEA)

步驟很簡單,只需要變更一下pom檔案。 1. Maven新增依賴 將下邊的依賴新增到你的pom檔案中去 <dependencies> <dependency> <groupId>org.spr

SLF4J - 借助SLF4J, 統一適配所有日誌實現為logback日誌實現的實踐

undle light apt vro bsp fda bce cdd eps 一、屏蔽各種日誌實現,去掉各種日誌實現的實現依賴 二、引入slf4j和各種日誌實現的適配器 1、引入slf4j 2、引入各種日誌實現的適配器(適配到slf4j) 3、引入logbac

SpringBoot系列十一:SpringBoot整合Restful架構(使用 RestTemplate 模版實現 Rest 服務調用、Swagger 集成、動態修改日誌級別

attribute tar ring 動態修改 包含 分布式 restfu pen 負載 1、概念:SpringBoot整合Restful架構 2、背景 Spring 與 Restful 整合才是微架構的核心,雖然在整個 SpringBoot(SpringCloud)之中提

Logback中使用TurboFilter實現日誌級別等內容的動態修改

可能看到這個標題,讀者會問:要修改日誌的級別,不是直接修改log.xxx就好了嗎?為何要搞那麼複雜呢?所以,先說一下場景,為什麼要通過TurboFilter去動態的修改日誌級別。我們在使用Java開發各種專案的時候必然的會引入很多框架,這些框架通過堆疊的方式完成所要提供的業務服務(一個服務請求在進入後會在這些

spring_cloud config 配置中心及利用Github實現自動化載入配置

    spring_cloud有著強大的生態支援,其自帶的分散式配置中心可以有效解決分散式環境中配置不統一的問題,提供一箇中心化的配置中心。並且依靠其spring_bus(rabbitMq提供訂閱)和github或者gitlab自帶的webhook(鉤子函式

storm 程式自定義slf4j日誌級別控制

storm日誌級別控制 場景 當我們在程式程式碼中宣告程式日誌 private final static Logger logger = LoggerFactory.getLogger(XXXCleanBolt.class); logger.info("xxxxxx");

在Java專案中如何使用log4j和slf4j實現日誌列印(轉)

https://blog.csdn.net/xiao_mengxi/article/details/54910450 用maven管理,只需要匯入一個包就行 <dependency> <groupId>org.slf4j</gr

tomcat 啟動顯示日誌級別,以及SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".錯誤

把以前的一個老專案通過maven的方式搭了一下,tomcat啟動時,列印資訊特別多,當時判斷日誌顯示級別應該是debug.但我配置與之前沒有任何改變,所以問題應該出在pom.xml上,於是網上查詢資料,發現還真有類似的情況,於是效仿解決之。 我們的日誌是用lo

Java專案使用log4j和slf4j實現日誌列印

什麼是log4j? Log4j是Apache的一個開源專案,通過使用Log4j,我們可以控制日誌資訊輸送的目的地是控制檯、檔案、GUI元件,甚至是套介面伺服器、NT的事件記錄器、UNIX Syslog守護程序等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌資訊的級別,我們能夠更加細緻地

Log4J日誌配置詳解和自定義log4j日誌級別及輸出日誌到不同檔案實現方法

package com.jo.work.log4j; import java.util.Enumeration; import org.apache.log4j.Appender; import org.apache.log4j.FileAppender; import org.apache.log4j.

Spring專案中對XML檔案載入程式碼實現

前言: 平時我們進行Spring專案開發的時候,經常需要因為XML的改變而重啟伺服器,假如專案較大的時候,重啟將會非常耗時。最近編寫的webschool框架需要用到較多的XML檔案進行配置,在這裡參考公司程式碼,實現了對XML檔案的熱載入。 效果 每

一步步手動實現修復(一)-dex檔案的生成與載入

*本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家釋出 熱修復技術自從QQ空間團隊搞出來之後便漸漸趨於成熟。 我們這個系列主要介紹如何一步步手動實現基本的熱修復功能,無需使用第三方框架。 在開始學習之前,需要對基本的熱修復技術有些瞭解,以下

基於slf4j實現多執行緒日誌

對於多執行緒的程式來說,排錯是一件特別麻煩的事情,特別是針對日誌,多執行緒有可能發生日誌寫阻塞,那我們有沒有可能每一個執行緒一個日誌檔案呢?答案是可以的,基於slf4j的MDC,具體MDC原理各位看官自

一步步深入學習webpack(入門困惑express和dev-server區別及分別使用dev-server和webpack-hot-middleware實現載入區別)

最近需要對webpack詳細學習後,給大家分享學習。於是不得不對每一個點進行學習,結果發現webpack涉及到的知識內容好多,自己學習也是一知半解,很多時候腦細胞都死得一片一片的。 注:本文是參考網上多方資料學習後記錄的,如有雷同,請聯絡我。 學習資料:入門

logback+slf4j實現日誌記錄

SLF4J 它不是一個真正的日誌實現,是一個抽象層,執行後臺使用任意一個日誌類庫,只需要更換依賴包和配置檔案。 LogBack + slf4j 依賴: <dependency> <groupId>org.slf4j</groupId&

slf4j+log4j實現web專案日誌輸出

                          基於slf4j 和 log4j實現web專案的日誌輸出 一:匯入相關依賴 <dependency> <groupId>org.slf4j</grou