为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Logback SSLSocketAppender 时 Splunk 日志显示为十六进制

使用 Logback SSLSocketAppender 时 Splunk 日志显示为十六进制

江户川乱折腾 2022-07-14 17:30:51
我正在尝试使用 Splunk 为我的应用收集日志。我在端口 6514 上设置了 TCP 数据输入(在此端口上启用了 SSL)。从我的 Java 应用程序中,我能够连接到端口并发送日志。但是,当我在 Splunk Web 上检查这些日志时,它显示为 Hex 格式。回退配置<configuration debug="true"> <appender name="console" class="ch.qos.logback.core.ConsoleAppender">    <encoder>        <pattern>%date{ISO8601} [%thread] [%cyan(%C.%M\(\))] [%highlight(%level)] : %msg - %ex{short} %n</pattern>    </encoder></appender><appender name="sslsocket" class="ch.qos.logback.classic.net.SSLSocketAppender">    <remoteHost>127.0.0.1</remoteHost>    <port>6514</port>    <queueSize>20</queueSize>    <reconnectionDelay>20</reconnectionDelay>    <ssl>        <trustStore>            <location>file:///path/to/truststore.jks</location>            <password>truststorepassword</password>        </trustStore>    </ssl></appender><logger name="splunk.secure.logger" additivity="false" level="INFO">    <appender-ref ref="sslsocket"/></logger><root level="DEBUG">    <appender-ref ref="console" /></root></configuration>用法公共类启动器{private final static org.slf4j.Logger logger = LoggerFactory.getLogger("splunk.secure.logger");public static void main(String[] args) {    logger.info("Testing SSL Socket Appender Log");}}将调试输出记录回控制台11:00:04,701 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.classic.net.SSLSocketAppender]11:00:04,720 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [sslsocket]11:00:04,763 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.core.net.ssl.SSLConfiguration] for [ssl] propertySPLUNK WEB 接收到的内容Time    Event19 年 3 月 2 日上午 9:48:45.000\xAC\xED\x00 主机 = 127.0.0.1 源 = tcp:6514 源类型 = logback总之从上面看,在我看来这不是连接问题,因为 Splunk 正在侦听端口 6514 并且能够捕获输入但捕获的输入显示为 HEX 而不是正常情况。当我使用普通的 com.splunk.logging.TcpAppender 时,我的日志会在 splunk 上正确显示。有没有我可能错过的其他配置使用 com.splunk.logging.TcpAppender 时是否可以启用 SSL是否有专用的 Splunk SSL appender 可以用来代替 ch.qos.logback.classic.net.SSLSocketAppender欢迎任何其他建议。
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

为了解决这个问题,我不得不切换到 log4j。使用 log4j 中的以下配置,日志在 splunk web 上正确显示。


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

<Configuration status="info" name="example" packages="">

<Appenders>

    <Socket name="ssl" host="localhost" port="6514">

        <PatternLayout charset="UTF-8">

            <pattern>%date{ISO8601} [%thread] [%C.%M\(\) - Line %L] [%level] : %msg %ex{short} %n</pattern>

        </PatternLayout>

        <JsonLayout properties="true"/>

        <SSL>

            <TrustStore location="/path/to/keystore.jks" password="password"/>

        </SSL>

    </Socket>

    </Appenders>

    <Loggers>

    <Root level="INFO">

    </Root>

    <Logger name="splunk.secure.logger" level="info">

        <AppenderRef ref="ssl"/>

    </Logger>

    </Loggers>

</Configuration>


查看完整回答
反对 回复 2022-07-14
  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号