.net core 使用 log4net
1 新建 .net 6 webapi 项目
2 安装nuget包 log4net
3 新建工具类 Log4NetUtil
添加引用
using System.IO;
using log4net;
using log4net.Config;
using log4net.Repository;
public class Log4NetUtil { private static ILoggerRepository _repository; private static ILog _log; private static ILog log { get { if (_log == null) { Configure(); } return _log; } } public static void Configure(string repositoryName = "NETCoreRepository", string configFile = "log4net.config") { _repository = LogManager.CreateRepository(repositoryName); XmlConfigurator.Configure(_repository, new FileInfo(configFile)); _log = LogManager.GetLogger(repositoryName, ""); } public static void Info(string msg) { log.Info(msg); } public static void Warn(string msg) { log.Warn(msg); } public static void Error(string msg) { log.Error(msg); } }
4 添加 log4net.config 配置文件
<?xml version="1.0" encoding="utf-8" ?>"ConsoleAppender" type="log4net.Appender.ConsoleAppender"> "log4net.Layout.PatternLayout" value="%date [%thread] %-5level %newline%message%newline%newline" /> "FileAppender" type="log4net.Appender.FileAppender"> "log-file.log" /> "true" /> "log4net.Layout.PatternLayout"> "%date [%thread] %-5level %newline%message%newline%newline" /> "RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> "log4file/" /> "true" /> "Composite" /> "false" /> "yyyyMMdd'.log'" /> "10" /> "10MB" /> "log4net.Layout.PatternLayout"> "%date [%thread] %-5level %newline%message%newline%newline" /> "ALL" /> ref ref="ConsoleAppender" /> ref ref="FileAppender" /> ref ref="RollingLogFileAppender" />
设置 log4net.config 文件属性
5 测试
写日志代码
public IEnumerableGet() { Log4NetUtil.Info("这是 info"); Log4NetUtil.Warn("这是 Warn"); Log4NetUtil.Error("这是 Error"); return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }) .ToArray(); }
5.1 debug模式下查看日志,进入 bin\Debug\net6.0\log4file 目录下
5.2 发布运行后查看方式
参考链接:https://www.cnblogs.com/zhengyb/p/13859090.html