
1
16
package
com.util;
17
18
import
java.io.UnsupportedEncodingException;
19
import
java.net.URLDecoder;
20
21
import
org.apache.commons.logging.Log;
22
import
org.apache.commons.logging.LogFactory;
23
import
org.productivity.java.syslog4j.Syslog;
24
import
org.productivity.java.syslog4j.SyslogIF;
25
26
33
public
class
SyslogUtil {
34
35
38
private
static
final
Log log
=
LogFactory.getLog(SyslogUtil.
class
);
39
40
45
public
static
void
sendSyslog(String ip, String msg) {
46
boolean
flag
=
true
;
47
//
ip不为空
48
if
(ip
==
null
||
""
.equals(ip)) {
49
flag
=
false
;
50
log.error(
"
请检查syslog服务器ip是否为空
"
);
51
}
52
//
发送消息不为空
53
if
(msg
==
null
||
""
.equals(msg)) {
54
flag
=
false
;
55
log.error(
"
请检查发送的消息是否为空
"
);
56
}
57
58
if
(flag) {
59
//
设置syslog的操作类并且使用udp协议
60
SyslogIF syslog
=
Syslog.getInstance(
"
udp
"
);
61
//
设置syslog服务器地址
62
syslog.getConfig().setHost(ip);
63
//
设限制syslog的接收端口,默认514
64
syslog.getConfig().setPort(
514
);
65
try
{
66
//
发送syslog日志,并定义日志级别
67
syslog.log(Syslog.LEVEL_INFO, URLDecoder.decode(msg.toString(),
"
utf-8
"
));
68
}
catch
(UnsupportedEncodingException e) {
69
log.error(e.getMessage());
70
}
71
}
72
}
73
74
public
static
void
main(String[] args)
throws
Exception {
75
//
每隔500ms发送一次日志
76
while
(
true
) {
77
sendSyslog(
"
192.168.15.33
"
,
"
测试;Hello World Syslog4j!
"
);
78
Thread.sleep(
500
);
79
}
80
}
81
}
82