SpringBoot 整合Syslog


簡介:Syslog常被稱作系統日志,是一種用來在互聯網協議中傳遞記錄檔消息的標准;Syslog也是一種主從式協議,syslog發送端會發送出一個小的文字消息到syslog接收端;支持UDP/TCP協議傳輸,默認端口514。

1. pom.xml Maven依賴

<dependency>
    <groupId>org.graylog2</groupId>
    <artifactId>syslog4j</artifactId>
    <version>0.9.60</version>
</dependency>

2. syslog客戶端

SyslogIF clientInstance = Syslog.getInstance(SyslogConstants.UDP);
        SyslogConfigIF clientConfig = clientInstance.getConfig();
        clientConfig.setHost("localhost");
        clientConfig.setPort(514);
        clientInstance.log(SyslogConstants.LEVEL_ALERT, URLDecoder.decode("測試一下", "utf-8"));

3. syslog服務端

new Thread(() -> {
            // 服務端
            SyslogServerIF serverInstance = SyslogServer.getInstance(SyslogConstants.UDP);
            UDPNetSyslogServerConfig serverConfig = (UDPNetSyslogServerConfig) serverInstance.getConfig();
            serverConfig.setHost("localhost");
            serverConfig.setPort(514);
            // 防止數據過大被截取導致不完整
            serverConfig.setMaxMessageSize(SyslogConstants.SYSLOG_BUFFER_SIZE * 10);
            serverConfig.addEventHandler(new SyslogServerSessionlessEventHandlerIF() {
                @Override
                public void event(SyslogServerIF syslogServerIF, SocketAddress socketAddress, SyslogServerEventIF syslogServerEventIF) {
                    // syslog日志
                    String message = syslogServerEventIF.getMessage();
                    log.info("接收到日志:{}", message);
                }

                @Override
                public void exception(SyslogServerIF syslogServerIF, SocketAddress socketAddress, Exception e) {

                }

                @Override
                public void initialize(SyslogServerIF syslogServerIF) {

                }

                @Override
                public void destroy(SyslogServerIF syslogServerIF) {

                }
            });
            // 啟動服務端
            serverInstance.run();
        }).start();

 

可參考:基於Java的Syslog服務器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM