输出日志到RichTextBox

  • 添加引用
  • 配置NLog.config
  • 调用Logger输出日志
  • 运行结果
  • 注意事项

添加引用

新建一个windows窗体应用程序后
在项目中引用NLog和NLog.Windows.Forms

在Form界面添加RichTextBox用以日志输出。

配置NLog.config

新建NLog.config文件。内容如下。
该配置支持输出到文件和RichTextBox。
NLog.config需要配置复制到输出目录。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"autoReload="true"throwExceptions="false"internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"><!-- optional, add some variableshttps://github.com/nlog/NLog/wiki/Configuration-file#variables--><variable name="myvar" value="myvalue"/><!--See https://github.com/nlog/nlog/wiki/Configuration-filefor information on customizing logging rules and outputs.--><targets><!--add your targets hereSee https://github.com/nlog/NLog/wiki/Targets for possible targets.See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.--><!--Write events to a file with the date in the filename.--><target xsi:type="File" name="file" maxArchiveFiles="20" archiveNumbering="Rolling" archiveAboveSize="1048576" fileName="${basedir}/logs/Test.log"layout="${longdate} ${uppercase:${level}} ${message}" /><target name="control" xsi:type="RichTextBox" controlName="richTextBox1" formName="Form1" maxLines="100" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${uppercase:${level}} ${message}"/></targets><rules><!-- add your logging rules here --><!--Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"--><logger name="*" minlevel="Trace" writeTo="file" /><logger name="*" minlevel="Trace" writeTo="control" /></rules>
</nlog>

调用Logger输出日志

实例化Logger,调用接口,实现日志输出到RichTextBox和文件中。

         Logger logger;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){logger = NLog.LogManager.GetCurrentClassLogger();}private void timer1_Tick(object sender, EventArgs e){logger.Trace(DateTime.Now);logger.Info(DateTime.Now);logger.Debug(DateTime.Now);logger.Error(DateTime.Now);logger.Fatal(DateTime.Now);}

运行结果

  1. winform界面输出的日志
  2. 文件中输出的日志

注意事项

  1. 注意controlName和formName的名称要和软件中定义的一致。

<target name="control" xsi:type="RichTextBox" controlName="richTextBox1" formName="Form1" maxLines="100" autoScroll="true" useDefaultRowColoringRules="true" layout="${longdate} ${uppercase:${level}} ${message}"/>

  1. 注意NLog.config是否配置复制到输出目录。

NLog输出日志到RichTextBox相关推荐

  1. 如何利用NLog输出结构化日志,并在Kibana优雅分析日志?

    上文我们演示了使用NLog向ElasticSearch写日志的基本过程(输出的是普通文本日志),今天我们来看下如何向ES输出结构化日志.在Kibana中分析日志. 什么是结构化日志? 当前互联网.物联 ...

  2. ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

    应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...

  3. ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通 ...

  4. 解决Flink输出日志中时间比当前时间晚8个小时的问题

    Flink安装在CentOS7上,默认时间是UTC时间,查看Flink日志,发现输出时间比当前时间晚8个小时. 通过如下命令,调整成北京时间 cp /usr/share/zoneinfo/Asia/S ...

  5. PyCharm中控制台输出日志分层级分颜色显示

    原文:https://blog.csdn.net/linzi1994/article/details/83009233 PyCharm中控制台输出日志分层级分颜色显示 版权声明:本文为博主原创文章,未 ...

  6. log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase

    log4net 无法输出日志,跟踪发现IsErrorEnabled等,都是Flase. 因为这是个半路接手的项目,写法和我之前的习惯不一样,所以也没看出问题出在哪里. 代码如下: private st ...

  7. slf4j + logback 输出日志:mybatis sql语句

    1 引入jar包:maven resposity 中 选择logback classic module <dependency> <groupId>ch.qos.logback ...

  8. Log4net 中输出日志到文件,文件名根据日期生成

    1           简介 1.1          Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管 ...

  9. log4j2分层输出日志

    在java mvc框架开发过程中,我们经常的将代码分为类似controller(控制层).service(业务层).rpc(远程接口调用层).dao(数据层)等层级,如果将所有层级的日志全部都打到一个 ...

最新文章

  1. 1280*720P和1920*1080P的视频在25帧30帧50帧60帧时的参数
  2. Error:Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apk
  3. 图论(八)最小生成树
  4. 异常处理try...catch...throw
  5. 另一个角度看Java常量池
  6. 独断专行站在互联网创业风口下的 00 后 CEO,没有钱该如何继续?
  7. Hibernate 马上入门(二)
  8. Vagrant (一) - 基本知识
  9. Flash MX 2004 编程(AS2.0)教程(五)
  10. 笨方法学python --习题12
  11. 华为路由器没有虚拟服务器,华为路由器如何设置 华为路由器设置方法介绍【详解】...
  12. html设置ie9兼容性视图,ie9兼容性设置在哪里 IE兼容性视图在哪里设置?
  13. 【华为机试真题 Python】勾股数元祖
  14. Java中List使用Comparator.comparing进行排序
  15. Android Muti-Window
  16. 中学生学习心理:学习心理
  17. “北大数学系扫地僧” 等十人获奖,均分1000万元,达摩院2021青橙奖出炉
  18. 读jQuery之十七(attribute/property/class)
  19. 使用 jquery.wordexport.js导出的Word排版
  20. DDS、openDDS和fast DDS介绍

热门文章

  1. 1207--铁矿石涨幅
  2. impala 时区问题
  3. 利用Python解决b站滑动验证码
  4. K3/ERP、fineprint8.0版cology8.1最新出炉JAVA功能越来越Fineport8.0
  5. imessage_如何从iPhone或iPad恢复已删除的iMessage
  6. 王道计算机组成原理:完整笔记
  7. eclipse右下角一直提示“jpa project change event handler” 用着很卡
  8. 单纯形法解线性规划初探(停更,高三毕业填坑)
  9. 【中国AI合伙人】助理来也胡一川、罗超专访(视频)
  10. 痞子衡嵌入式:改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常