当前位置: 移动技术网 > IT编程>开发语言>.net > .NET CORE 控制台应用程序配置log4net日志文件

.NET CORE 控制台应用程序配置log4net日志文件

2019年05月14日  | 移动技术网IT编程  | 我要评论

蓝宇卡盟,别动本王的专宠,真空透视装

使用文件格式记录日志

1、新建一个.net core控制台应用程序,添加log4net.dll引用,打开工具-》nuget包管理器-》管理解决方案的nuget程序包。

2、在nuget-解决方案面板中-》程序包源选择全部-》选中包括预发行版-》选择浏览-》在搜索框中输入包名称-》选择搜索出来的包-》选择包要安装的项目-》选择包安装版本-》点击安装-》在预览更改弹出框点击确定-》在接受许可证弹出框,点击我接受-》在输出弹出框查看安装状态,在项目依赖项nuget查看安装文件。

3、添加app.config配置文件-》右键点击项目-》选择添加-》选择新建项-》在添加新项弹出框-》选择应用程序配置文件-》输入配置文件名称-》点击确定-》查看新建文件。

4、打开app.config文件-》添加配置文件节点属性。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configsections>
    <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/>
  </configsections>
  <log4net>
    <appender name="rollinglogfileappender" type="log4net.appender.rollingfileappender">
      <!--日志路径-->
      <param name= "file" value= ".\logfile\"/>
      <!--是否是向文件中追加日志-->
      <param name= "appendtofile" value= "true"/>
      <!--log保留天数-->
      <param name= "maxsizerollbackups" value= "10"/>
      <!--每个log文件最大是2m,如果超过2m将重新创建一个新的log文件,并将原来的log文件备份。-->
      <maximumfilesize value="2mb" />
      <!--日志文件名是否是固定不变的-->
      <param name= "staticlogfilename" value= "false"/>
      <!--日志文件名格式为:2008-08-31-12.log-->
      <param name= "datepattern" value= "yyyy-mm-dd-hh-mm".read.log""/>
      <!--日志根据日期滚动-->
      <param name= "rollingstyle" value= "date"/>
      <layout type="log4net.layout.patternlayout">
        <param name="conversionpattern" value="%d [%t] %-5p %c - %m%n %loggername" />
      </layout>
      <lockingmodel type="log4net.appender.fileappender+minimallock" />
    </appender>
    <root>
      <!--(高) off > fatal > error > warn > info > debug > all (低) -->
      <level value="all" />      
      <appender-ref ref="rollinglogfileappender"/>
    </root>
  </log4net>
</configuration>

5、右键点击项目-》点击编辑.csproj文件-》添加app.config引用。

<itemgroup>
    <content include="app.config">
      <copytooutputdirectory>preservenewest</copytooutputdirectory>
    </content>
  </itemgroup>

6、在项目源代码中编写测试代码。

using system;
using system.io;
using log4net;
using log4net.config;
using log4net.repository;

namespace log4netconsolepractice
{
    class program
    {
        private static iloggerrepository loggerrepository;

        static void main(string[] args)
        {
            loggerrepository = logmanager.createrepository("log4netconsolepractice");
            xmlconfigurator.configureandwatch(loggerrepository, new fileinfo("app.config"));
            var log = logmanager.getlogger(loggerrepository.name, typeof(program));
            //log4net日志
            //log4net.ilog loginfo = log4net.logmanager.getlogger(methodbase.getcurrentmethod().declaringtype);
            log.infoformat("测试日志写入");
            console.writeline("hello");
            console.readline();
        }
    }
}

7、启动运行-》在项目bin文件夹-》debug文件-》logfile文件夹-》打开日志文件查看结果。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网