.NET CORE 控制台应用程序配置log4net日志文件
使用文件格式记录日志
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文件夹-》打开日志文件查看结果。