首页 > Windows开发 > 详细

C#NLog帮助类同时输出内容到文件和文本框

时间:2020-05-19 21:40:49      阅读:187      评论:0      收藏:0      [点我收藏+]
1.引用NLog.dll文件
2.在主窗体加入以下代码进行格式化
技术分享图片
 1  //初始化代码
 2       private void Initlogger()
 3         {
 4             //step1.Create configuration object
 5             LoggingConfiguration logConfig = new LoggingConfiguration();
 6             //step2.create targets and add them to the configuration
 7             RichTextBoxTarget rtbTarget = new RichTextBoxTarget();
 8             logConfig.AddTarget("richTextBox", rtbTarget);
 9             rtbTarget.FormName = "Form1";//your winform class name
10             rtbTarget.ControlName = "richTextBox1";//your RichTextBox control/variable name
11 
12             FileTarget fileTarget = new FileTarget();
13             logConfig.AddTarget("logFile", fileTarget);
14            
15             //step3 Set target properties
16             string commonLayout = "${date:format=yyyy-MM-dd HH\\:mm\\:ss}${logger}${message}";
17             rtbTarget.Layout = commonLayout;
18 
19             DateTime curDateTime = DateTime.Now;
20             string curDatetimeStr = string.Format("{0:yyyy-MM-dd_HHmmss}", curDateTime);
21 
22             // fileTarget.FileName = "${basedir}/" + curDatetimeStr + "_log.txt";
23             fileTarget.FileName = "${basedir}/Logs/${shortdate}/log.csv";
24             fileTarget.Layout = commonLayout;
25            
26             //step4 Define rules
27             LoggingRule ruleRichTextBox = new LoggingRule("*", LogLevel.Debug, rtbTarget);
28             logConfig.LoggingRules.Add(ruleRichTextBox);
29 
30             LoggingRule ruleFile = new LoggingRule("*", LogLevel.Debug, fileTarget); logConfig.LoggingRules.Add(ruleFile);
31             //step5 Activate the configuration
32             LogManager.Configuration = logConfig;
33         }
View Code
3.在窗体的Load事件中初始化代码
技术分享图片
 1  public Logger logger;
 2         public Form1()
 3         {
 4             InitializeComponent();
 5         }
 6 
 7         private void Form1_Load(object sender, EventArgs e)
 8         {
 9             Initlogger();
10             logger = LogManager.GetLogger("");   
11         }
View Code
4.调用方法验证
技术分享图片
1   logger.Info("我在执行");
View Code
5.在其他类库里面使用的话,引用NLog.dll,不用Initlogger(),只需要获取Logger
的实例化对象即可。
6.参考文章
技术分享图片
1   https://www.crifan.com/csharp_implement_log_system_same_time_output_to_file_and_terminal/
2   
3   https://www.cnblogs.com/animal/articles/4073141.html
4   https://www.cnblogs.com/Can-daydayup/p/11182958.html
View Code

 

C#NLog帮助类同时输出内容到文件和文本框

原文:https://www.cnblogs.com/fanjianzhi/p/12919173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!