自定義log4j的appender
1、繼承log4j公共的基類:AppenderSkeleton
2、列印日誌核心方法:abstract protected void append(LoggingEvent event);
3、初始化載入資源:public void activateOptions(),預設實現為空
4、釋放資源:public void close()
5、是否需要按格式輸出文字:public boolean requiresLayout()
正常情況下我們只需要覆蓋append方法即可。然後就可以在log4j中使用了
----------------------------------------------------------超簡單的Java例項---------------------------------------------------------------------
demo程式碼:
Java程式碼
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;
public class SystemOutAppender extends AppenderSkeleton {
private String prefix ;
@Override
protected void append(LoggingEvent event) {
System.out.println("###, " + prefix + " : "+ event.getMessage());
}
@Override
public void close() {
// TODO Auto-generated method stub
}
@Override
public boolean requiresLayout() {
// TODO Auto-generated method stub
return false;
}
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
}
Java程式碼
public static void main(String[] args) {
Logger log = LogFactory.getLog("sysoutLog") ;
log.info("System.out.print.....") ;
}
log4j.properties 配置
log4j.logger.sysoutLog=INFO, sysout
log4j.appender.sysout=SystemOutAppender
執行main函式,輸出結果
###, @@@ : System.out.print....
------------------------------------------------------------------------整些深奧點的理論------------------------------------------------------------------------------------------------------------
appender 的生命週期 1.appender 例項不存在,或許框架還沒有配置好。
相關推薦
WF4.0以上使用代碼完整自定義動態生成執行工作流Xaml文件
load 控制 brush 類型 rpv 返回 cap 並且 sco 給大家分享一下,如何完全使用代碼自定義的創建生成工作流文件(用代碼創建Xaml文件),並且動態加載運行所生成的工作流。 工作流生成後 在Xaml文件裏的主要節點如下: 輸入輸出參數 <x
自定義maven變量以及maven內置常量
文件 rect 需要 nal tool tdi cto packaging 構建 本文轉自:http://zheng12tian.iteye.com/blog/1770909 在創建Maven工程後,插件配置中通常會用到一些Maven變量,因此需要找個地方對這些變量進行統一
WPF自定義輪播控件
cnblogs log .cn 蛋疼 源碼 logs alt files 一個 閑得蛋疼做了一個WPF制作輪播動畫,勉強可以看,寫個隨筆留個腳印。 源碼:有需要的可留言。 效果圖: WPF
自定義MySQL函數
ffffff 現在 sql code begin 函數 limit round 其他 1、MySQL創建函數語法: CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter
FastReport調用Delphi中的自定義函數
int 加載 自定義函數 調用 create phi tro fast creat //定義一個函數; function SmallToMoney(akey: real): string; begin //‘1234500‘ end; //此處為fastreport
日本程序開發式自定義的malloc/free函數(三)-源代碼(ソースコード)
size span 鏈表 pan ppp 附近 efi ret system 這篇文章終於是貼出了我們的源代碼,實現每個功能也是花費了許多時間,大家在編寫的時候可以多花點時間,多嘗試,多看就能寫出來。 老師的要求不能在程序裏面使用malloc,new什麽的,有要求使用鏈表,
vue.js2.0 自定義組件初體驗
最新 解綁 然而 blog bool template 警告 rem 組件 理解 組件(Component)是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼。在較高層面上,組件是自定義元素, Vue.js 的編譯器為它添加特殊功能。在有些
angular創建自定義指令的四種方式
htm mil 成功 評論 utf-8 例如 angularjs size 限制 angular除了內置的部分指令,還可以通過.directive來自定義指令。要調用自定義指令,HTML 元素上需要添加自定義指令名。使用駝峰法來命名一個指令:nsHeader,在調用時使
1. PMD 使用,編譯和自定義規則
自定義 pmd 規則 一 PMD簡介PMD是一款代碼靜態檢查工具,可以檢查出很多代碼中潛在的bug以及讓人感到疑惑的代碼,具體大家可以百度下。二 PMD源代碼下載下載地址:https://github.com/pmd/pmd/tree/pmd/5.5.x需要註意的是註意選擇branch,一般選擇最
自定義標題欄右鍵菜單
mman size sub append pan prot base rri import 摘自:http://stackoverflow.com/questions/4615940/how-can-i-customize-the-system-menu-of-a-wind
DataGridView使用技巧十:單元格表示值的自定義
mes rgs bject 設定 format ebo cep send || 通過CellFormatting事件,可以自定義單元格的表示值。(比如:值為Error的時候,單元格被設定為紅色) 示例: 1 private void dgv_Users_CellForm
jquery的自定義事件通過on綁定trigger觸發
測試 觸發 調用示例 事件觸發 我們 trigge spa src margin jquery綁定自定義事件,可以實現預先綁定好一個處理方法,當需要使用的時候利用jquery trigger來觸發自定義事件,以達到方便快捷的目的。我們來假設一個這樣的場景,一個textare
Android RatingBar 自定義樣式
android style Android RatingBar 自定義樣式1.先定義Style:<style name="RadingStyle" parent="@android:style/Widget.RatingBar"> <!-- 定義星星圖片 -->
自定義 checkbox 新玩法 ?
buttonview自定義 checkbox 新玩法 ?第一步:selector編寫 drawable/selector_checkbox_voice.xml<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="htt
自定義監控(阿裏雲&zabbix)
阿裏雲監控 自定義監控 zabbix腳本監控 mysql監控 自定義監控(阿裏雲&zabbix)目前阿裏雲對25端口有限制,無法在阿裏雲上搭建郵件服務器發送告警郵件,如果需要郵件通知,可以采取下面方法:1.開同阿裏雲企業郵箱2.使用阿裏雲監控告警3.第三方zabbix自定義腳本監控一、
在struts2中配置自定義攔截器放行多個方法
return med ttr limit ring req tac cat invoke 源碼: 自定義的攔截器類: //自定義攔截器類:LoginInterceptor ; package com.java.action.interceptor; import j
cordova跨平臺app開發02_自定義插件開發與安裝
xtend else callback 視頻 方法名 pty ges ray expect 視頻地址:http://t.cn/RacmXiy cordova的自定義插件由js、原生代碼文件(java、oc)、plugin.xml三部分組成。 cordvoa提供了命令來創
題目1004:Median(qsort函數自定義cmp函數)
%d font com ron ring scan sort mat .com 題目鏈接:http://ac.jobdu.com/problem.php?pid=1004 詳解鏈接:https://github.com/zpfbuaa/JobduInCPlusPlus
mysql自定義函數
host key 是否 ble sea 判斷語句 bin iter str 1、先查看函數功能是否開啟:show variables like ‘%func%‘; 若是未開啟則:SET GLOBAL log_bin_trust_function_creators=1; 關閉
js自定義事件模式
ner 例如 ret cti bsp js事件 事件 使用 原型 ---恢復內容開始--- js事件用的最多的就是默認事件。不過有時候需要自定義事件來使用。 參照默認事件的模式,例如click事件,鼠標點擊dom,先觸發click事件,然後執行dom上的事件處理程序