log4j发送日志到远程服务器(Linux服务器) syslog+端口

log4j可以将日志写到远程服务器(Linux服务器)上。
直接在log4j.properties文件中或者log.xml文件中配置即可,这里只讲log4j.properties中怎么配置。

syslog方式

先在Linux服务器上配置

  1. 修改 syslog 的配置文件 /etc/rsyslog.conf
    在文件最后加上如下内容:
#文件可自定义(local6中的6可以改成其它数字,但是不能改成跟文件中已有的一样,如local7文件中已有了)
local6.*        /var/log/agent.log  
  1. 打开/etc/sysconfig/rsyslog文件,在SYSLOGD_OPTIONS中追加"-r"
    如下:
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS="-r"
  1. 重新启动 syslog 服务
systemctl restart rsyslog.service
  1. 可以用以下命令测试我们的配置对不对
/usr/bin/logger -p local6.info

如:

[hyj@hadoop102 data]$ /usr/bin/logger -p local6.info
helloFlume
[root@hadoop102 log]# pwd
/var/log
[root@hadoop102 log]# tail -f agent.log 
Mar 26 14:50:45 hadoop102 hyj: helloFlume

配置log4j

在 log4j.properties文件中配置如下内容:

log4j.rootLogger=INFO,syslog
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.SyslogHost= hadoop102  #此处为你的服务器名或IP地址
log4j.appender.syslog.Threshold=INFO #日志输出的最小级别
log4j.appender.syslog.Facility=local6  #这里要跟上面配置的 local6.*        /var/log/agent.log 中的local6一样
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}  %5p --- [%20t]  %-130c:(line:%4L)  :   %m%n
demo|FATAL|2014-Jul-03 14:34:34,194|main|com.c4c.logdemo.App:(line:15)|send a log

端口方式

  1. log4j.properties文件中配置如下内容:
log4j.rootLogger=INFO,to11HitLog
# Socket Appender
log4j.appender.to11HitLog = org.apache.log4j.net.SocketAppender
#往hadoop102的44444端口发送日志数据
log4j.appender.to11HitLog.Port = 44444  
log4j.appender.to11HitLog.RemoteHost = hadoop102 #此处为你的服务器名或IP地址
log4j.appender.to11HitLog.ReconnectionDelay = 10000
  1. 在hadoop102服务器上 监听本机的44444端口
[hyj@hadoop102 redis-6.2.1]$ nc -lp 44444
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值