| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | using NLog;using NLog.Config;using OTS.WinFormsUI.Docking;using System;using System.Linq;namespace OTSIncAReportApp{    public partial class OutputNlog : DockContent    {        protected static NLog.Logger loger;        public OutputNlog()        {            InitializeComponent();        }        private void OTSMeasureOutputNlog_Load(object sender, EventArgs e)        {            combox_NlogType.Items.Add("Trace");            combox_NlogType.Items.Add("Debug");            combox_NlogType.Items.Add("Info");            combox_NlogType.Items.Add("Warn");            combox_NlogType.Items.Add("Error");            combox_NlogType.Items.Add("Fatal");            combox_NlogType.SelectedIndex = 0;            loger = NLog.LogManager.GetCurrentClassLogger();        }        private void button_test_Click(object sender, EventArgs e)        {            loger = NLog.LogManager.GetCurrentClassLogger();            loger.Trace("Trace");            loger.Debug("Debug");            loger.Info("Info");            loger.Warn("Warn");            loger.Error("Error");            loger.Fatal("Fatal THIS IS A LOG WHICH USED TO TEST THE LOG LENTH FIT TO THE FORM!");        }        private void button_Clear_Click(object sender, EventArgs e)        {            richTextBox_Nlog.Clear();        }        private void combox_NlogType_SelectedIndexChanged(object sender, EventArgs e)        {            if (null == combox_NlogType.SelectedItem) return;            String str = combox_NlogType.SelectedItem.ToString();    // 获取日志级别.            LogLevel lv = LogLevel.Info;    // 若选择的值无效, 则当作 Info级.            lv = LogLevel.FromString(str);            LoggingRule lr = LogManager.Configuration.LoggingRules.FirstOrDefault(                                r => r.Targets.Any(                                    t => "control" == t.Name                                )                            );            if (lr != null)            {                lr.SetLoggingLevels(lv, LogLevel.Fatal);                LogManager.ReconfigExistingLoggers();    // 使配置生效.            }        }        private void button_stop_Click(object sender, EventArgs e)        {            if (button_stop.Text == "Stop")            {                LoggingRule lr = LogManager.Configuration.LoggingRules.FirstOrDefault(                                r => r.Targets.Any(                                    t => "control" == t.Name                                )                            );                LogManager.Configuration.LoggingRules.Remove(lr);                LogManager.ReconfigExistingLoggers();                button_stop.Text = "Start";            }            else            {                if (null == combox_NlogType.SelectedItem) return;                String str = combox_NlogType.SelectedItem.ToString();                LogManager.Configuration.AddRule(LogLevel.FromString(str), LogLevel.Fatal, "control");                LogManager.ReconfigExistingLoggers();    // 使配置生效.                button_stop.Text = "Stop";            }        }    }}
 |