log4j按業務切分不同的日誌檔案

2021-07-27 13:34:36 字數 1920 閱讀 1465

public class loginfo 

public loginfo()

public loginfo(string filesuffix, string message)

public string getfilesuffix()

public void setfilesuffix(string filesuffix)

public string getmessage()

public void setmessage(string message)

@override

public string tostring()

}

import org.apache.log4j.helpers.countingquietwriter;

import org.apache.log4j.spi.loggingevent;

/** * 按檔案大小切分日誌

* * 按指定的id作為字尾檔名建立檔案

* 使用@taskloginfo 封裝日誌引數

* 其他使用方式和log4j提供的api一致

*/ private long nextrollover = 0;

private string basefilepattern;

@override

object obj=event.getmessage();

string filesuffix=null;

if(obj instanceof loginfo)

string scheduled=(basefilepattern).replace("%s", "");

if(filesuffix!=null)

setfile(scheduled);

activateoptions();

if(filename != null && qw != null)

} }@override

public void activateoptions()

int index=filename.lastindexof(".");

if(index>0)else

}

}

public class logger 

private logger(class clazz)

private logger(string name)

public void info(string message)

public void error(string message)

public void warn(string message)

public void error(string message,throwable t)

public void warn(string message,throwable t)

public void info(string message,throwable t)

public void setservicekey(string strservicekey)

}

public class testlog4j 

//按id切分檔案

logger logger1=logger.getlogger(testlog4j.class);

for (int i = 0; i < 10; i++)

}}

配置資訊

#顯示大於info級別的日誌

log4j.rootlogger=info,file

##所有的一般錯誤資訊和info資訊/logs/******x.log 與task排程相關資訊按task id

log4j記錄不同的日誌 Log4j 日誌記錄方法

logger類具有處理日誌記錄活動的方法。我們可以使用兩個靜態方法建立logger類的例項 public static logger getrootlogger public static logger getlogger string name 第乙個方法返回沒有名稱的根日誌記錄器。第二個方法按名...

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

log4j 輸入不同日誌檔案

log4j的強大功能無可置疑,但實際應用中免不了遇到某個功能需要輸出獨立的日誌檔案的情況,怎樣才能把所需的內容從原有日誌中分離,形成單獨的日誌檔案呢?其實只要在現有的log4j基礎上稍加配置即可輕鬆實現這一功能。也就是在用logger時給它乙個自定義的名字 如這裡的 mytest1 然後在log4j...