使用Log4Net动态发送UDP日志

在Log4Net的配置文件中可以添加多个UdpAppender节点,用来向不同的UDP服务器发送日志。

但是,如果需要动态接收UDP日志呢,每个未知的客户端都可以接收Log4Net的UDP日志,那么就需要在软件中开启一个监听UDP消息的线程,接收到UDP主机的IP和端口后,动态添加UDP Server信息到Log4Net的配置中,这样Log4Net就能同时向多个UDP Server发送日志了。

由于是动态添加UDP Server,所以Log4Net的配置文件中就可以没有UdpAppender节点了(也可以配置几个固定的IP、端口),下面上主要代码。

1、软件中监听UDP Server消息的线程

/// <summary>
/// UDP Server发现线程回调函数
/// </summary>
private void RecvUdpServerMessage()
{
	IPEndPoint remoteIp = new IPEndPoint(IPAddress.Any, 0);
	while (true)
	{
		try
		{
			byte[] bytRecv = _udpRecv.Receive(ref remoteIp);
			string message = Encoding.UTF8.GetString(bytRecv, 0, bytRecv.Length);
			message = message.Trim();   //类似"UDPServer:2018"
			if (!message.StartsWith("UDPServer"))
			{
				continue;
			}

			var index = message.IndexOf(":", StringComparison.CurrentCulture);
			i
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值