Syslog4j中的日志格式处理

本文介绍了Syslog协议的格式,包括PRI、HEADER及MSG三个部分,并详细解析了Syslog4j中日志处理的方式,强调了日期格式的重要性以及中文环境下可能遇到的问题。

      Syslog协议定义的日志格式如下:

PRI部分

HEADER部分

MSG部分

优先级

时间

主机名/IP

TAG

Content

<1-3>

MMM dd hh:mm:ss

 

进程名称和进程PID

消息内容

 

       Syslog4j处理的格式如下:

PRI部分

HEADER部分

MSG部分

优先级

时间

主机名[IP]

Content

消息内容

<1-3>

MMM dd hh:mm:ss

 

 

       在Syslog4j中解析日志的类是SyslogServerEvent。在日志中不包含TAG部分。主机名和主机IP的情况是:

1)可以不包含主机名或主机IP,但消息内容不要有空格;

2)可以只包含主机名,消息内容可以有空格;

3)可以只包含主机IP,消息内容可以有空格;

4)可以即包含主机名也包含主机IP,但必须主机名在前主机IP在后,中间用空格分开。

 

有一点需要注意的是日期格式。

中文操作系统中java虚拟机得到的日期是:十一月 17 17:53:19。如果客户端送来的日期是:Nov 17 17:53:19,中文系统的服务端解析会抛异常。

解决方法是创建格式转换器时指定语言环境:

String DATE_FORMAT = "MMM ddHH:mm:ss";

formatter1 = new SimpleDateFormat(DATE_FORMAT,Locale.ENGLISH);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peterwanghao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值