1. 程式人生 > >log4j根據業務分出多個日誌檔案

log4j根據業務分出多個日誌檔案

很多時候,我們不同的業務日誌要列印到不同的日誌檔案,比如我們一種日誌是 資料庫同步到資料倉庫日誌(db2dw) ,一種日誌是 資料清洗日誌(washdata) ,要分成2個不同日誌檔案進行記錄看,具體的做法如下:

  • 1 在類裡面確定好不同業務對應的日誌名稱,程式碼如下,這裡就是剛剛說的不同的兩種業務
Logger logger = Logger.getLogger("**db2dw**")
Logger logger = Logger.getLogger("**washdata**")
  • 2 log4j裡面也同時定義好這2種業務的日誌名稱

如果是log4j.properties這樣配置:

log4j.logger.db2dw=info,db2dwFile
log4j.logger.washdata=info,washDataFile

如果是spring的logback-spring.xml這樣配置:

<logger name="db2dw" level="INFO">
    <appender-ref ref="db2dwFile"/>
</logger>
<logger name="washdata" level="INFO">
    <appender-ref ref="washDataFile"/>
</logger
>
  • 3.接下來就是配置對應的appender,即db2dwFile和washDataFile這2個appender,這裡以db2dwFile為例

如果是log4j.properties這樣配置:

log4j.appender.db2dwFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.db2dwFile.File=./logs/db2dw.log
log4j.appender.db2dwFile.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.db2dwFile.Append
= true log4j.appender.db2dwFile.layout=org.apache.log4j.PatternLayout log4j.appender.db2dwFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} %m%n

如果是spring的logback-spring.xml這樣配置:

<appender name="db2dwFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
  <encoder> 
    <pattern>%m%n</pattern> 
  </encoder>  
  <file>./logs/db2dw.log</file>  
  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
    <fileNamePattern>./logs/db2dw.log.%i</fileNamePattern> 
  </rollingPolicy>  
  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
    <MaxFileSize>100MB</MaxFileSize> 
  </triggeringPolicy> 
</appender>

相關推薦

log4j根據業務日誌檔案

很多時候,我們不同的業務日誌要列印到不同的日誌檔案,比如我們一種日誌是 資料庫同步到資料倉庫日誌(db2dw) ,一種日誌是 資料清洗日誌(washdata) ,要分成2個不同日誌檔案進行記錄看,具體的做法如下: 1 在類裡面確定好不同業務對應的日誌

logback輸出日誌檔案

以前一直用slf4j+logback作為應用程式的日誌元件,部署時,將日誌輸入到檔案,以備檢視。 <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name=

Log4net等級說明以及按照不同級別寫入日誌檔案

等級說明:Level級別:DEBUG <INFO<WARN<ERROR<FATAL <root> <level value="INFO"/> <appender-ref ref="Rollin

log4j配置輸出到日誌文件

基準 方式 ref err logfile otl sni targe file 通常我們項目裏,有一些重要的日誌想單獨的輸出到指定的文件,而不是全總輸出到系統的日誌文件中。那麽我們log4j為我們提供了這種功能,以下我們來一步一步看是怎麽做的。這裏以pro

log4j配置輸出到日誌文件(轉)

兩種模式 簡單 mylog 效果 evel ast mar 輸出 rop 參考資料:http://logging.apache.org/log4j/1.2/manual.html 通常我們項目裏,有一些重要的日誌想單獨的輸出到指定的文件,而不是全總輸出到系統的日誌文件中。那

類模板的聲明和定義都寫到頭文件中,可以.h文件中

測試 blog alt com src 類的聲明 技術 寫到 nbsp 通常類模板的聲明和定義都寫到頭文件中,那麽為了看著清晰,類的聲明和定義可以分開寫到多個頭文件中嗎,測試: 類模板的聲明和定義都寫到頭文件中,可以分到多個.h文件中

excel將一個工作表根據條件拆分成sheet工作表

本例介紹在excel中如何將一個工作表根據條件拆分成多個工作表。 注意:很多朋友反映sheets(i).delete這句程式碼出錯,要注意下面第一個步驟,要拆分的資料工作表名稱為“資料來源”, 而不是你新建工作簿時的sheet1這種。手動改成“資料來源”即可。或者是把程式碼中得"資料來源

python例項:快速找字典中的公共鍵

1.生成隨機字典 # 從abcdefg 中隨機取出 3-6個,作為key, 1-4 的隨機數作為 value s1 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))} 方法1 用集合方法 s1 = {'c':

同一介面畫QQ圖(R語言)

題目:一名研究者用光子吸收法測量了婦女骨骼中無機物含量,對三根骨頭主側和非主側記錄了測量值,資料框“T1bones.txt”中的第2至第7列記錄了相應資料。對各個變數做qq圖,在同一個介面畫出所有的qq圖,不同的qq圖用不同顏色表示。 檔案:T1bones.txt 受試者編號&n

工具類:防抖動(極短時間次點選,導致介面彈dialog)

工具類: public class OnClickUtils {     // 兩次點選按鈕之間的點選間隔不能少於500毫秒     private static final int MIN_CLICK_DELAY_TIME = 500;   &

viewpager的酷炫效果的實現(同時顯示頁面)

1.在佈局中通過給根佈局和ViewPager控制元件同時設定一個屬性即可:android:clipChildren="false" 舉例: <LinearLayout xmlns:android="http://schemas.android.com/apk/res

log4j.xml 中配置輸出檔案

現在的專案中,對於日誌的配置,我們有時候需要配置對應不同的輸出日誌檔案,例如按照模組劃分,按照功能劃分,分別輸出到不同的日誌檔案中,下面介紹一下,怎麼配置不同的輸出日誌檔案。 下面是一整塊的log4j.xml配置。如果對怎麼配置spring 和 log4j不瞭解的話,可以參

SQL 用條件進行排序;以及根據一個條件的值,進行排序

1、先說第一個用多個條件進行排序      ORDER BY name,age       (多條件排序,還有條件可以再加在後面)      ORDER BY name desc,age&nb

VM虛擬機器下安裝centos7並且克隆系統

首先是虛擬機器的安裝,VMware,我安裝的是VMware workstation 12pro,這個安裝不存在任何的問題所以我就不多講了,大家自己百度下就好。接下來我就具體講講怎麼使用VMware的克隆以及IP的配置吧。 首先,這些的前提是你已經在虛擬機器上安裝了centos7系統。 第一步,直

一鍵打包不同包名,不同應用名稱和圖示的APK

此Demo的原理與多渠道打包的原理相同(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)最近有一個需求,就是一套程式碼要根據不同的客戶打包出不同包名,不同appName,圖示的apk,如果一個客戶更改一次打包出一個apk的話效率非常的低,並且不利於維護本demo

spark根據key輸出到目錄

專案中需要將spark的輸出按id輸出到不同的目錄中,即實現在spark中的多路輸出。我們可以呼叫saveAsHadoopFile函式並自定義一個OutputFormat類,就可以達到上述目的。 import org.apache.commons.lang3.

filebeat6.2.3收集日誌topic輸出

下載 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.3-linux-x86_64.tar.gz 解壓 tar -zxvf filebeat-6.2.3-linux-x86_

MySQL根據某一個或者欄位查詢重複資料,並且保留某欄位值最大的記錄

問題場景 當系統沒有處理好併發操作的情況下,操作人員同時操作一張表的情況下,資料庫有可能被插入相同記錄,這些會帶來隱藏的bug。 解決思路一 解決併發操作的衝突。 解決思路二 對資料庫(MySQL)某張表去重,首先確定你的業務是否允許重複,不允許你

內容excel檔案進行儲存資料

/** * 分多個excel檔案進行儲存資料 * @author hanchuang * */ public class AccessExcel { String[] titleCell; String[][] allC

layer---彈iframe如何找到父頁面方法

父親頁面-- function aa(){ var index = parent.layer.getFrameIndex(window.name); v