6 使用log4net nlog 玩下日志 (.net 上手笔记)

331 阅读1分钟

首先,找到官网。 logging.apache.org/log4net/ind… 看一圈,优于百度各种迷茫搜。

1 nuget 程序包安装 。并配置 。

image.png

2 基础实现,写文本日志。

2.1 配置xml . (官网抄例子)

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
	<appender name="rollingAppend" type="log4net.Appender.FileAppender">
		<file value="myLog.txt" />
		<appendToFile value="true" />
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
		</layout>
	</appender>

	<root>
		<level value="DEBUG" />
		<appender-ref ref="rollingAppend" />
	</root>
</log4net>

2.2 builder 注入容器。

    builder.Logging.AddLog4Net("CfgFile/log4net.Config");

2.3 控制器使用。


   private readonly ILogger<SecondController> _Logger;
        public SecondController(ILogger<SecondController> logger)
        {
            _Logger = logger;
            _Logger.LogInformation($"{this.GetType().Name} 被构造了");
        }

        public IActionResult Index()
        {
            _Logger.LogInformation($"Index 被执行了");
            return View();
        }

日志效果如图。 image.png

2 写sql 日志。 略。 (配来配去的。)

3 使用level 进行级别控制 。

<level value="FATAL" />

4 玩下nlog

4.1 nuget 添加NLog.Extensions.Logging

image.png

4.2 写配置,program.cs 注入。

官网找例子。

<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

	<targets>
		<target name="file" xsi:type="File"
            layout="${longdate} ${logger} ${message}${exception:format=ToString}"
            fileName="${basedir}/logs/logfile.txt"
            keepFileOpen="true"
            encoding="utf-8" />
	</targets>

	<rules>
		<logger name="*" minlevel="Debug" writeTo="file" />
	</rules>
</nlog>

using NLog.Web;
#region nlog
{
    builder.Logging.AddNLog("CfgFile/nlog.Config");
}
#endregion


写日志,看效果 。 写法等同于 log4net

image.png