文档章节

使用Syslog4j发送syslog

窗外有个蓝蓝天
 窗外有个蓝蓝天
发布于 2015/06/17 10:34
字数 637
阅读 253
收藏 0

syslog4j作为发送syslog的常用工具,用的比较广泛,由于目前的一个项目中需要使用syslog去发送服务器的策略变更信息,所以去syslog4j官网找了一些例子看了一下。

目前官网没有稳定版本,最后更新的开发版的版本是0.9.46

image_thumb2

由于只需要简单的发送syslog,也没有其它什么特殊的需求(学以致用吗),直接上一个最简单的例子。


   
1 /* 2 * Copyright 2008-2014 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 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 /** 27 * SyslogUtil 使用syslog发送数据 28 * <hr> 29 * @author 李长伟 30 * @version 1.0 创建时间 2015年6月16日 上午8:38:10 31 * 32 */ 33 public class SyslogUtil { 34 35 /** 36 * 取得log4j日志实体 37 */ 38 private static final Log log = LogFactory.getLog(SyslogUtil. class ); 39 40 /** 41 * 向指定的syslog服务器发送日志消息 42 * @param ip syslog服务器ip地址 43 * @param msg syslog日志内容 44 */ 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

测试结果

image_thumb6

当然此处,如果你没有sysylog接受的工具的话,是没有办法成功的,这里由于公司有专门搭建的syslog服务器,所以没在此处没有赘述syslog的接收过程,如果你需要测试是否发送成功可以百度syslogwatcher或者其它工具。

© 著作权归作者所有

窗外有个蓝蓝天
粉丝 2
博文 4
码字总数 7655
作品 0
嘉定
程序员
私信 提问
加载中

评论(1)

舞阳
大神能把收log的代码也贴一下吗
Syslog4j如何实现接收日志

1、前言 Syslog4j是一个实现Syslog(RFC3164)协议的Java开源类库包括客户端与服务器端。通过 UDP/IP, TCP/IP, TCP/IPover SSL/TLS, Unix Syslog, 和 Unix Socket 等协议进行日志记录。 本文介...

码农的胳膊肘
2013/12/21
4.1K
0
Syslog协议的Java版--Syslog4j

Syslog4j 是一个 Syslog 协议(RFC 3164)的 Java 语言实现,用来通过 UDP/IP, TCP/IP, TCP/IP over SSL/TLS, Unix Syslog, 和 Unix Socket 等协议进行日志记录。 示例代码: SyslogIF syslog ...

匿名
2009/04/17
6.9K
1
syslog4J

@窗外有个蓝蓝天 你好,想跟你请教个问题:请问收怎么收syslog的消息并给他解析出来。

舞阳
2017/02/22
54
0
PHP错误日志

我们可以在单独的文本文件中将错误报告作为日志记录。错误日志的记录,可以帮助开发人员或者 管理人员查看系统是否存在问题。 如果需要将程序中的错误报告写入错误日志中,只要在PHP的配置文...

笨小熊
2016/08/29
22
0
Linux syslog日志服务器架设攻略

从目前的情况来看,Syslog(系统日志)这一历史悠久的日志系统仍旧占据着最主流的地位。由于与类 UNIX平台之间的渊源,Syslog是在实际应用环境中最容易获得的日志系统。 同时,还有很多的基于...

鉴客
2011/11/28
23.4K
4

没有更多内容

加载失败,请刷新页面

加载更多

100天搞定机器学习|Day55 最大熵模型

1、熵的定义 熵最早是一个物理学概念,由克劳修斯于1854年提出,它是描述事物无序性的参数,跟热力学第二定律的宏观方向性有关:在不加外力的情况下,总是往混乱状态改变。熵增是宇宙的基本定...

机器学习算法与Python实战
16分钟前
4
0
找子表

select a.constraint_name, a.table_name, b.constraint_name from user_constraints a, user_constraints b where a.constraint_type = 'R' and b.constraint_type = 'P' and a.r_constrain......

兵荒马乱的青春
18分钟前
4
0
Web应用安全如何防御或者检查漏洞?

     Web应用安全如何防御或者检查漏洞?这是大家一直关心的问题。随着计算机技术的发展,网络漏洞也变得越来越多样化了,你知道吗,每隔9 小时就会发布 1 个严重漏洞,并且有可能会进行远...

梅丽莎好
26分钟前
5
0
Vim 复制粘帖格式错乱问题的解决办法

有时候,复制文本(尤其是代码)到 Vim,会出现格式错乱的问题。看样子,应该是自动缩进惹得祸。本文不去深究原因,直接给出解决方法。 1. paste 模式 运行如下命令,进入 paste 模式: :set...

观海562
27分钟前
3
0
OSM初识(三)OSM Data

一 导出数据 将XML格式的OSM数据转换成另一种格式。 二 提取数据 剪切你选择区域内的数据,或者提取出特定区域特定的特征 三 数据格式 OSM文件仅属于OSM,不能用别的软件打开。其中后缀为bz2...

yuankaichao
37分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部