Log4J配置Syslog單獨輸出、以及配置單獨檔案輸出
前言:
Log4J在專案中會經常使用,大部分的logger會配置到rootLogger中,這種情況下子Logger 會繼承 父Logger 的appender,也就是說子Logger 會在 父Logger 的appender裡輸出。
但在開發的過程中我們經常會遇到希望Log單獨輸出到某一個日誌檔案。這篇文章將介紹Log4J如何配置Syslog傳送日誌到某個伺服器,以及Log4J如何配置單獨檔案輸出。
一、Log4j配置Syslog單獨輸出:
配置單獨輸出,不需要將Logger加入到rootLogger中,並且需要在logger的配置中新增一句:
#syslog是logger的名字 log4j.additivity.logName=false
log4j.additivity是 子Logger 是否繼承 父Logger 的 輸出源(appender) 的標誌位。設為false,子logger將不會繼承rootLogger的輸出源。
完整的配置:
log4j.logger.syslog=INFO,syslog log4j.additivity.syslog=false log4j.appender.syslog=org.apache.log4j.net.SyslogAppender log4j.appender.syslog.SyslogHost=127.0.0.1 log4j.appender.syslog.Port=514 #log.appender.logFile.encoding=UTF-8 log4j.appender.syslog.Facility=LOCAL1 log4j.appender.syslog.header=true log4j.appender.syslog.Threshold=INFO log4j.appender.syslog.layout=org.apache.log4j.PatternLayout log4j.appender.syslog.layout.ConversionPattern=%m%n log4j.appender.syslog.Encoding=UTF-8
這裡將Syslog伺服器的IP和埠號寫死。但在開發中更為常見的是,Syslog伺服器的IP和埠號是自動獲取的,所以下面的寫法更為實用。
log4j.logger.syslog=INFO,syslog log4j.additivity.syslog=false #log4j.appender.syslog=org.apache.log4j.net.SyslogAppender log4j.appender.syslog=org.apache.log4j.MYSyslogAppender #log4j.appender.syslog.SyslogHost=127.0.0.1 #log4j.appender.syslog.Port= #log.appender.logFile.encoding=UTF-8 log4j.appender.syslog.Facility=LOCAL1 log4j.appender.syslog.header=true log4j.appender.syslog.Threshold=INFO log4j.appender.syslog.layout=org.apache.log4j.PatternLayout log4j.appender.syslog.layout.ConversionPattern=%m%n log4j.appender.syslog.Encoding=UTF-8
這裡的org.apache.log4j.ZFSyslogAppenderSyslog4jAppender,在裡面動態獲取Syslog伺服器的IP和埠號。
注意: 此時 log4j.appender.syslog=你重寫類的路徑
import org.productivity.java.syslog4j.impl.log4j.Syslog4jAppender;
public class MYSyslogAppender extends Syslog4jAppender{
public void setSyslogHost(String syslogHost) {
super.setHost(syslogHost);
}
public void setPort(String syslogHost) {
super.setPort(syslogHost);
}
public MYSyslogAppender(){
String hostIP = 動態獲取程式碼(例如從配置檔案中獲取);
String portstr = 動態獲取程式碼(例如從配置檔案中獲取);
this.setHost(hostIP);
this.setPort(portstr);
}
}
在程式碼中使用時這個logger只需要在程式碼中引入:
private static Logger sysLogger = Logger.getLogger("syslog");
//使用時
sysLogger.info("向Syslog伺服器傳送的資訊");
這樣,就可以 自動向Syslog伺服器傳送內容。
二、Log4J配置單獨檔案輸出:
單獨檔案輸出同樣需要設定:
log4j.additivity.logName=false
這裡貼出一個例子:
# MSY
log4j.logger.zflog=INFO,zflog
log4j.appender.zflog=org.apache.log4j.RollingFileAppender
#log path
log4j.appender.zflog.File=./log/zflog.log
log4j.appender.zflog.MaxFileSize =100MB
log4j.additivity.zflog=false
log4j.appender.zflog.Append=true
log4j.appender.zflog.header=true
log4j.appender.zflog.Threshold=INFO
log4j.appender.zflog.layout=org.apache.log4j.PatternLayout
log4j.appender.zflog.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH\:mm\:ss}%n[%p]-[Thread\: %t]-[%C.%M()]\: %m%n
log4j.appender.zflog.Encoding=UTF-8
同樣使用此Logger也需要在程式碼中引入:
private static Logger zflog = Logger.getLogger("zflog");
zflog.info("想要記錄的內容");
內容就會記錄在你配置的logger日誌中。
OK,看完點贊!
相關推薦
Log4J配置Syslog單獨輸出、以及配置單獨檔案輸出
前言: Log4J在專案中會經常使用,大部分的logger會配置到rootLogger中,這種情況下子Logger 會繼承 父Logger 的appender,也就是說子Logger 會在 父Logger 的appender裡輸出。 但在開發的過程中我們經常會
有關推挽輸出、開漏輸出、復用開漏輸出、復用推挽輸出以及上拉輸入、下拉輸入、浮空輸入、模擬輸入區別——(轉載)
應用 以及 連接數 17. 推拉 情況 輸出 floating 補充 最近在看數據手冊的時候,發現在Cortex-M3裏,對於GPIO的配置種類有8種之多: (1)GPIO_Mode_AIN 模擬輸入(2)GPIO_Mode_IN_FLOATING 浮空輸入(3)GPIO_
Django框架(二)—— 基本配置:app註冊、模板配置、靜態檔案配置、資料庫連線配置post和get
app註冊、模板配置、靜態檔案配置、資料庫連線配置post和get 一、app 在Django中,APP可以用以下類比 大學 --------------------專案 計算機學院------------app01 土木學院 ------------ app02 1、app建立 方
vmware安裝centos7、配置網絡卡、環境配置
vmware安裝centos7、配置網絡卡、環境配置 1、vmware安裝centos虛擬機器參照:https://blog.csdn.net/guo_ridgepole/article/details/78973763 2、無線環境下配置虛擬機器網絡卡 3、CentOS下VMw
同一個電腦配置多個ssh key以及配置完成後git拉取或更新程式碼仍要輸入密碼問題的解決
1.配置多個ssh key以兩個賬號為例:[email protected]對應gitee的遠端倉庫[email protected]對應github的遠端倉庫1.1.在~/.ssh目錄下分別生成兩個賬號的ssh key使用ssh-keygen -t rs
有關上拉輸入、下了輸入、推輓輸出、開漏輸出、複用開漏輸出、複用推輓輸出以及、浮空輸入、模擬輸入區別
1、上拉輸入:上拉就是把電位拉高,比如拉到Vcc。上拉就是將不確定的訊號通過一個電阻嵌位在高電平!電阻同時起限流作用!弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分。 2、下拉輸入:就是把電壓拉低,拉到GND。與上拉原理相似。 3、浮空輸入:浮空(float
CDH安裝配置zeppelin-0.7.3以及配置spark查詢hive表
1.下載zeppelin http://zeppelin.apache.org/download.html 我下載的是796MB的那個已經編譯好的,如果需要自己按照環境編譯也可以,但是要很長時間編譯,這個版本包含了很多外掛,我雖然是CDH環境但是這個也可以使用。 2.修改
linux 標準輸出、標準錯誤輸出、以及shell小技巧
1.Linux常用的有: 1) 標準輸入 stdin 程式碼為0,使用< 或<< 2) 標準輸出 stdout 程式碼為1,使用> 或 >> ,這裡把1給省略了, 3) 標準錯誤輸出 stderr程式碼為2,使用 2> 或2
log4j日誌輸出,以及生成日誌檔案
log4j.properties檔案配置如下: log4j.rootLogger=debug,appender,appender1 #如果在本地eclipse控制檯輸出 請解開下面的程式碼 #log4j.appender.appender=org.apache.log
Spring Cloud Alibaba(二) 配置中心多專案、多配置檔案、分目錄實現
介紹 之前Spring Cloud Config基礎篇這篇文章介紹了Spring Cloud Config 配置中心基礎的實現,今天繼續聊下Spring Cloud Config 並結合nacos做服務註冊中心,實現多專案、多配置檔案、按專案目錄劃分等功能的配置服務中心。 閱讀本篇文章之前,最好要有nacos
Linux動態庫.a與動態庫.so的生成與區別、以及.so庫檔案的封裝與使用
一、前言 如果有公司需要使用你們產品的一部分功能(通過程式碼呼叫這些功能),如果不想提供原始碼,那麼就可以通過封裝成庫檔案的形式提供給對方使用。本文主要介紹了生成動態庫與靜態庫檔案的過程、以及封裝和使用庫檔案的方法。 二、靜態庫.a與動態庫.so的生成與
Log4j appender輸出類型配置
文件的 back 容量 jpg war div ror att 參數 Log4j官方的appender給出了一下幾種實現 org.apache.log4j.ConsoleAppender(控制臺), org.apache.log4j.FileAppender(文件)
Linux VPS 安全配置:禁用22端口、root用戶以及配置Denyhosts防暴力破解
usermod run 主題 工具 wheel mit smt 個人 連不上 最近租用了一臺Vultr東京機房的VPS,每天都會生成許多異常登錄失敗的日誌,疑似受到掃描軟件的暴力破解,遂Google了一下服務器安全防護方面的知識。 廢話不多說,下面將操作過程記錄下來: 註意
(轉)關於Tomcat的點點滴滴(體系架構、處理http請求的過程、安裝和配置、目錄結構、設置壓縮和對中文文件名的支持、以及Catalina這個名字的由來……等)
https 設置 重啟 specific 調用 持久化數據 所在 original apps 轉自:http://itfish.net/article/41668.html 總結Tomcat的體系架構、處理http請求的過程、安裝和配置、目錄結構、設置壓縮和對中文文件名
Windows上MyEclipse2017 CI7 安裝、破解以及配置
內容 ive 下載地址 lips 破解 wrap spa 兩個文件 gin 一、安裝環境與安裝包 操作系統:win7 MyEclipse2017 CI7下載地址:鏈接:https://pan.baidu.com/s/1eSnOEMe 密碼:i208 MyEclipse201
Nginx配置:防盜鏈、訪問控制、解析PHP以及代理
防盜鏈 訪問控制 Nginx代理 一、Nginx防盜鏈 防盜鏈是指一個網站的資源(圖片或附件)未經允許在其它網站提供瀏覽和下載,尤其熱門資源的盜鏈,對網站帶寬的消耗非常大,設置防盜鏈以節省資源。 1、修改虛擬主機配置文件 [root@zlinux vhost]# vim linuxtest.c
【Java】Maven安裝、Eclipse配置以及相關錯誤解決集合
文件 格式 setting BYD cksum runt 文件編碼 原因 完成後 作者嘔血總結,下面寫的每一個錯誤我都遇過 · Maven安裝 · Eclipse配置 · Maven安裝 安裝前請確保已經裝有JDK。 一、 準備Maven程序包 到官網https
Tomcat下載以及安裝、eclipse工具配置tomcat9的具體步驟以及注意事項!!!
(小白經驗,大咖勿噴) 開始學前端的一些技術了,最讓人頭疼的就是環境的配置以及必要軟體的安裝,比如資料庫mysql、伺服器Tomcat、eclipse工具等等。 自己也度娘了很多大咖的經驗,但看到的教程以及經驗都很久了,我下載安裝的又是最新版
【設計經驗】3、燒錄QSPI Flash以及配置mcs檔案的載入速度與傳輸位寬
一、軟體與硬體平臺 軟體平臺: 作業系統:Windows 7 64-bit
下載jdk1.8、tomcat8.5以及配置環境變數Linux(CentOS7)
前言 系統資訊:CentOS Linux release 7.5.1804 (Core) JDK版本:1.8.0_191 Tomcat版本:Tomcat8.5.34 接下來的操作均是在root許可權下安裝配置,如果使用非root賬戶,涉及許可權要求,請使用sudo命令 JDK