侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

logstash收集log4j日志

2024-05-07 星期二 / 0 评论 / 0 点赞 / 50 阅读 / 4456 字

使用logstash收集log4j日志信息log4j日志文件配置重要参数详解mode logstash工作模式,可选"server"或者"client",默认是"server",server就是把lo

使用logstash收集log4j日志信息

log4j日志文件配置

重要参数详解

  • mode logstash工作模式,可选"server"或者"client",默认是"server",server就是把logstash看做是日志的服务器,接收log4j主机端生成的日志消息。client则是把logstash看做是tcp的发起者,请求log4j主机返回日志消息。
  • host 主机地址,字符串类型,如"localhost"或者"192.168.0.1",如果是server模式,就是监听的主机地址,如果是client模式,就是连接的目标地址。
  • port 端口号,数字类型,如 4567 或者 12345,如果是server模式,就是监听的端口号如果是client模式,就是连接的目标端口号。
  • data_timeout 超时时间,秒为单位。如果设置-1,则永不超时,默认是5,如果某个tcp连接闲置了,则超过该时间限制,就断开或者关闭连接。

Server模式

server模式就是把logstash作为服务器,输出日志消息的java程序所在的主机作为客户机, logstash配置

input{  log4j {    mode => "server"    host => "localhost"#注意这里,这里是Logstash服务器的地址或者主机名    port => 4560  }}output{  stdout{}}

log4j配置:

<?xml version="1.0" encoding= "UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" >       <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender" >             <layout class="org.apache.log4j.PatternLayout" >                   <param name="ConversionPattern" value="[log4j] %X{userName} %X{clientIP} %p信息 [类%c:%L行] 时间:%d{yyyy-MM-dd HH:mm:ss} 消息: %m%n"/>             </layout>       </appender>      <appender name="socketAppender" class="org.apache.log4j.net.SocketAppender">        <param name="remoteHost" value="localhost" /><!-- 远程主机地址 -->        <param name="port" value="4560" /><!-- 远程主机端口 -->        <param name="Threshold" value="DEBUG" />        <param name="ReconnectionDelay" value="60000" />        <param name="LocationInfo" value="true" />      </appender>       <root>             <priority value="debug" />             <appender-ref ref="ConsoleAppender" />             <appender-ref ref="socketAppender" />       </root></log4j:configuration>

Client模式

client模式就是把Logstash当做客户端,去请求返回java程序所在的主机输出的日志。 logstash配置

input{  log4j {    mode => "client"    host => "ip地址"    port => tcp端口  }}output{  stdout{}}

log4j配置

<?xml version="1.0" encoding= "UTF-8" ?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j=" http://jakarta.apache.org/log4j/" >   <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender" >     <layout class="org.apache.log4j.PatternLayout" >       <param name="ConversionPattern" value="[log4j] %X{userName} %X{clientIP} %p信息 [类%c:%L行] 时间:%d{yyyy-MM-dd HH:mm:ss} 消息: %m%n"/>     </layout>   </appender>    <appender name="sockethubAppender" class="org.apache.log4j.net.SocketHubAppender">      <param name="port" value="4560" />  <param name="Threshold" value="INFO" />  <param name="LocationInfo" value="true" />  </appender>   <root>    <priority value="info" />    <appender-ref ref="ConsoleAppender" />    <appender-ref ref="sockethubAppender" />   </root></log4j:configuration>

广告 广告

评论区