伙计们,有没有办法通过HTTP远程登录? (像log4j这样通过TCP进行远程日志记录)
感谢
答案 0 :(得分:1)
Log4j完全支持SocketAppender appender及其子类的远程日志记录。
答案 1 :(得分:1)
目前在log4j中没有HTTP appender,但已向邮件列表one in 2004和one in 2007提交了两个不同的appender。
也许您可以根据代码创建自己的HTTP appender?
答案 2 :(得分:0)
Rsyslog是一种流行的中央日志记录系统。您可以配置log4j以将日志文件发送到中央日志记录系统。
这是log4j的配置。
<Appenders>
.............
<Syslog name="syslog" format="RFC5424" host="myhost" port="514"
protocol="UDP" appName="testlog4j" includeMDC="false" mdcId="testlog4j"
facility="LOCAL0" enterpriseNumber="18060" newLine="false"
messageId="Audit">
<LoggerFields>
<KeyValuePair key="thread" value="%t"/>
<KeyValuePair key="priority" value="%p"/>
<KeyValuePair key="category" value="%c"/>
<KeyValuePair key="exception" value="%ex"/>
</LoggerFields>
</Syslog>
</Appenders>
答案 3 :(得分:0)
您可以使用NXLog输入和输出模块(im_http和om_http)通过HTTP或HTTPS进行远程日志记录。
im_http 模块可以配置为接受HTTP或HTTPS连接。它期望来自客户端的HTTP POST请求。 收到有效请求才能在Keep-Alive模式下运行时,模块将不会关闭连接。它将以HTTP / 1.1 201 Created响应每个有效的POST请求。此确认可确保可靠的消息传递。
om_http 模块将以纯HTTP或HTTPS模式连接到指定的URL。每个事件都在单个POST请求中传输。然后,模块等待包含成功状态代码(200、201或202)的响应。
免费提供的https://nxlog.co/products/nxlog-community-edition/download
社区版中提供了这些模块答案 4 :(得分:0)
这取决于您需要通过HTTP(S)支持的确切协议,但我假设您正在通过HTTP(通过POST请求)询问有关RFC 5424
的信息。在这种情况下,log4j2似乎是目前(2018年底)唯一可用的解决方案。
HttpAppender
的 Rfc5424Layout
可以满足您的需求:
https://logging.apache.org/log4j/2.x/manual/appenders.html https://logging.apache.org/log4j/2.x/manual/layouts.html
当前,我看到Log4j2
2.11.1,此解决方案有效,但就我而言,需要一些定制。