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);
本文详细介绍了Syslog协议的日志格式,包括PRI、HEADER和MSG部分,并解析了Syslog4j处理的日志格式。同时,文章还特别关注了日期格式的问题,并提供了解决方案。
607

被折叠的 条评论
为什么被折叠?



