一行代码在 .NET Core 中快速使用 log4net
2024-10-19 16:34:49
原文:一行代码在 .NET Core 中快速使用 log4net
1. .NET Core 控制台程序中使用
第一步:添加引用
Install-Package log4net
第二步:将附件 LogHelper.cs 和 log4net.config 两个文件加入到项目中
第三步:在Main中使用 LogHelper 类来记录日志
public static void Main(string[] args)
{
LogHelper.Configure(); //使用前先配置
LogHelper.Info("NETCorelog4net log");
LogHelper.Info("test log");
LogHelper.Error("error");
LogHelper.Info("linezero");
Console.ReadKey();
}
2. ASP.NET Core 中使用
第一步:添加引用
Install-Package log4net
第二步:将附件 LogHelper.cs 和 log4net.config 两个文件加入到项目中
第三步:在Startup 构造函数中初始化
public class Startup
{
public Startup()
{
LogHelper.Configure(); //使用前先配置
}
第三步:在HomeController 中使用 LogHelper 类来记录日志
public IActionResult Index()
{
LogHelper.Info("index view");
LogHelper.Error("Controller Error");
return View();
}
附件
日志类简单封装:LogHelper.cs
using log4net;
using log4net.Config;
using log4net.Repository;
using System.IO;
public class LogHelper
{
private static ILoggerRepository repository { get; set; }
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);
}
}
log4net 配置文件:log4net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile/" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
最新文章
- IISExpress Log 文件路径
- 【尝新】微信小程序初体验
- 类A have-a 类B,类B访问类A public 成员
- [HDOJ5445]Food Problem(优先队列优化多重背包)
- JS日期的获取与加减
- linux自定义脚本添加到rc.local脚本无法正常运行的问题
- Change http port in bitnami stack
- WebGL on iOS8 最终等到了这一天
- 【JavaScript设计模式系列---开篇预览】
- c语言else匹配问题
- lnmp 60秒的服务器缓存时间
- Could not load file or assembly &#39;Oracle.DataAccess&#39; or one of its dependencies. An attempt was made to load a program with an incorrect format.
- 转载Mvc的多层架构
- ubuntu16.04 英文环境安装google chrome
- vxWorks 命令
- Springboot 集成jpa使用
- spring boot - 整合jpa
- SkylineGlobe for web开发是否支持IE11?
- poj2054 Color a Tree
- B - 吉哥系列故事——恨7不成妻
热门文章
- 关于软件IntelliJ IDEA的使用技巧(一)
- lamp搭建
- C# FTP操作代码实现
- Linux服务器上创建日志服务器和FTP服务器
- [python3]未配置locale的主机出现UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0x....的解决
- 虚拟机linux系统 硬盘/root路径扩容
- element 的时间快捷键
- 【在线工具】java开发常用在线工具
- J2EE学习篇之--JDBC详解
- react react使用css