Log4net udpAppender 和Log2Console的应用

来源:互联网 发布:淘宝上的创想电玩 编辑:程序博客网 时间:2024/06/08 18:56


Log4Net 是免费开源的日志记录框架,具体可参考 – Log4net – 日志记录框架简介。

Log2Console 是免费开源的日志显示工具,可结合Log4Net,接收Log4Net发出的udp 消息,并在界面上及时显示。

关于Log4net和Log2Console 结合使用时出现的中文问题,可参考相关的文章。

一、 Log4Net不能输出中文的日志

原因:配合Log2Console 使用必须使用Log4Net的log4net.Appender.UdpAppender来输出日志,将所有非中文字符屏蔽。Log4Net源代码问题出在 Util\Transform.cs 文件 public static string MaskXmlInvalidCharacters ( string textData, string mask )
这个函数上. 这个函数本意是将输出消息中的无效字符替换为”?”。

将return INVALIDCHARS.Replace(textData, mask);改成return textData;

二、 Log2Console不能显示中文日志
使用Log2Console的udp方式获取日志出现的问题原因:Log2Console的源码在获取udp信息的时候使用utf-8格式获取字符串。

解决办法:修改UdpReceiver.cs文件的Start()方法,把

string loggingEvent = System.Text.Encoding.UTF8.GetString(buffer);

改成:

string loggingEvent = System.Text.Encoding.Default.GetString(buffer);

然后重新编译即可。

最后,看看log2console 工具接收并显示的UDP消息,具体操作细节,可参考-Log2Console日志监测工具使用方法。


Log2Console

https://github.com/pmorton/Log2Console

upd+log2console


0 0
原创粉丝点击