log4j傳送日誌到遠端伺服器並接收,兩種配置

2021-09-24 11:17:44 字數 1550 閱讀 1637

log4j直接配置syslog就可以傳送訊息到遠端伺服器,直接配置log.properties檔案或log.xml檔案即可

pom檔案中加入

log4j

log4j$

com.alibaba

fastjson

1.1.41

org.slf4j

slf4j-api

$ org.slf4j

slf4j-log4j12

$

第一種:

直接用log4j的jar包

log4j.rootlogger=info,syslog

預設傳送到埠514,可配置其他埠

第二種:

##第三方syslog4j

log4j.rootlogger=info,syslog1

可配置埠,但是輸出內容格式固定,這個比較尷尬,沒辦法跟第一種一樣自定義輸出資料格式和內容。

注意:threshold所定義級別為日誌輸出的最小級別,及其以上級別都能輸出。

以上兩種是基於.properties檔案的,下面是配置xml檔案。

<?xml version="1.0" encoding="utf-8"?>

需要在web.xml中配置監聽

log4jconfiglocation

classpath:log.xml

org.springframework.web.util.log4jconfiglistener

還有一種方式,通過配置logback傳送。

log.xml中配置傳送伺服器及最低日誌級別

local1

[%thread] [%level] %logger - %msg%n

warn

web.xml中配置

logbackconfiglocation

classpath:log.xml

ch.qos.logback.ext.spring.web.logbackconfiglistener

《注:生產伺服器上可以把log.xml放入web-inf下classes中,就不需要配置監聽了》

都使用udp傳送,

接收方法:

public static void main(string args) throws socketexception 

datagrampacket incoming = new datagrampacket(buffer,

buffer.length);

try catch (exception e) }}

記得先啟動接收伺服器再啟動傳送伺服器,

就這麼簡單就實現了日誌的傳送、收集

實際操作中exception資訊會一條條接收,這需要在接收端判斷是否屬於exception資訊,然後根據一定的輸出規則拼接成完整的異常資訊

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 日誌記錄方法

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

Log4j 日誌級別

日誌記錄器 logger 是日誌處理的核心元件。log4j具有5種正常級別 level 日誌記錄器 logger 的可用級別level 不包括自定義級別 level static level debug debug level指出細粒度資訊事件對除錯應用程式是非常有幫助的。static level ...