log4j2測試執行個體-socket集中列印樣本,log4j2-socket

來源:互聯網
上載者:User

log4j2測試執行個體-socket集中列印樣本,log4j2-socket
1、需求背景

因為公司最近搭建一個日誌集中管理平台,要求各個系統的日誌都需要傳送到統一的平台上,所以基於此,研究了一下log4j2的socket。

 

2、準備材料

需要log4j2的兩個jar包:log4j-api-2.1.jar  和  log4j-core-2.1.jar  。(版本需要一直,特別是伺服器上的jar  和  用戶端的jar要保持一致)

3、log4j2的用戶端配置

直接在 IDE中建立java工程。在根目錄src下添加log4j2.xml檔案。

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <Configuration> 3   <Appenders> 4     <Socket name="socket" host="IP" port="8086" > 5         <SerializedLayout /> 6     </Socket> 7     <!--在ide中,列印到控制台--> 8     <Console name="console" target="SYSTEM_OUT"> 9       <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>10     </Console>11   </Appenders>12   <Loggers>13     <Root level="info">14         <AppenderRef ref="socket"/>15           <AppenderRef ref="console"/>16     </Root>17     <Logger name="app" level="info" additivity="false">18         <AppenderRef ref="socket" />19     </Logger>20   </Loggers>21 </Configuration>
log4j2.xml

建立用戶端測試java類Log4j2SocketTest

 1 import org.apache.logging.log4j.LogManager; 2 import org.apache.logging.log4j.core.Logger; 3  4 public class Log4j2SocketTest { 5     static Logger logger = (Logger) LogManager.getLogger("app"); 6     static Logger logger_default = (Logger) LogManager.getLogger(); 7  8     public static void main(String[] args) { 9         logger.debug("logger.debug....");10         logger.info("logger.info....");11         System.out.println("another");12             logger_default.debug("logger_default.debug");13         logger_default.info("logger_default.info");14     }15 }  
Log4j2SocketTest4、log4j2的服務端接收日誌模擬器配置

這個只是類比接收的伺服器,作用是列印到檔案中,方便我們查看伺服器端收到的從用戶端發來的內容。

把這三個檔案放到同一個目錄下:log4j-api-2.1.jar  、  log4j-core-2.1.jar  和 log4j2.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <Configuration> 3   <Appenders> 4     <!-- 控制台輸出 --> 5 <File name="MyFile" fileName="D:/logs/log.log">   6             <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %C{2} (%F:%L) %L- %msg%n" />   7     </File>  8   </Appenders> 9   <Loggers>10     <Root level="debug">11       <AppenderRef ref="MyFile"/>12       <AppenderRef ref="STDOUT"/>13     </Root>14   </Loggers>15 </Configuration>
log4j2.xml

這三個檔案放好之後,我們啟動伺服器,如下

java -cp log4j-api-2.2.jar;log4j-core-2.2.jar org.apache.logging.log4j.core.net.server.TcpSocketServer 8085 log4j2.xml

註:linux下jar之間用冒號‘:’,windows下用分好‘;’

5、這樣就可以了,在ide中執行用戶端的日誌列印,同時會上傳到伺服器上。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.