永发信息网

一些关于怎样把log4net信息输出到UI界面的

答案:1  悬赏:0  手机版
解决时间 2021-11-30 16:51
一些关于怎样把log4net信息输出到UI界面的
最佳答案
首先定义一个EventArgs
public class UiLogEventArgs : EventArgs
{
public string Message { get; private set; }
public UiLogEventArgs(string message)
{
Message = message;
}
}
然后自定义一个Appender
public class UiLogAppender : AppenderSkeleton
{
public event EventHandler UiLogReceived;
protected override void Append(LoggingEvent loggingEvent)
{
var message = RenderLoggingEvent(loggingEvent);
OnUiLogReceived(new UiLogEventArgs(message));
}
protected virtual void OnUiLogReceived(UiLogEventArgs e)
{
if (UiLogReceived != null)
UiLogReceived(this, e);
}
}
是在XML实现配置log4net的
接下里就是在code中把被待处理的事件注册到UiLogAppender的事件EventHandler中
(首先我们得找到uiLogAppender,然后才把处理UI的方法注册上去)
var hierarchy = LogManager.GetRepository() as Hierarchy;
var appenders = hierarchy.Root.Repository.GetAppenders();
foreach (var appender in appenders)
{
var uiLogAppender = appender as UiLogAppender;
if (uiLogAppender != null)
uiLogAppender.UiLogReceived += ShowMessageOnUi;
}
以上就是把log4net信息同步输出到UI的方法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
山寺月中寻桂子艳情枕上看潮头的意思
阅读下面甲、乙两个文言片段,完成文后8—12
请问各位大侠,在每张CAD设计图纸中,包含设
解密主题曲跟一首歌很像知道是哪一首嘛?急
达飞微金小额贷款公司怎么样呢?
【苦逼的文科生做高数】用极限定义证明下列各
女生聊天时叫男生橙子 什么意思
灯下,他郑重地打开纸包,按照那封信里指明的
c罗在新签尤文年薪多少
roll-on/roll-off vessel是滚装船的意思
谁能发地下防水构造图集10j301 钢筋混凝土过
长沙那里有手表专卖店
跟男生聊天用嘿嘿嘿叫他,他在线没回我。是不
畅享品质旅游管家有自由行吗?
单选题某车间有5个小组,共加工零件1200个,
推荐资讯
CAD中M6是什么意思
单选题蝗虫(昆虫)的呼吸是A.通过肺完成B.通
昨天去美容院做了去黄和黑色素提取,胶原蛋白
寻仙罗刹两界紫光和雷火神鹰哪个好
开个滋补品专卖店大概要多久可以收回成本?
1908法国坐洋老银币,正面自由女神像价值多少
合力7吨叉车冷车方向重
千峰环野立是什么意思
上虞汽车西站周边有按摩的地方吗
卡佳斯的无线门铃质量怎么样 看过款式蛮不错
我的显卡属性显示PCI Slot 2 (PCI 总线 1、设
从省植物园到长沙生态动物园怎么坐公交车,最
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?