.net Core 5.0 Log4Net 全局注册

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了.net Core 5.0 Log4Net 全局注册脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

(168条消息) .net Core 5.0 Log4Net 全局注册_u011714257的博客-CSDN博客

1、NuGet安装Log4Net

 

 

2、创建LogHelper帮助类

using log4net;using log4net.Config;using log4net.Repository;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Threading.Tasks; namespace netCore5Log4NetTest{ public class LogHelper { private static ILoggerRepository repository { get; set; } private static ILog _Loginfo; private static ILog _Logerror; private static ILog LogInfo { get { if (_Loginfo == null) { Configure(); } return _Loginfo; } } private static ILog LogError { get { if (_Logerror == null) { Configure(); } return _Logerror; } } public static void Configure(string repositoryName = "NETCoreRepository", string configFile = "log4net.config") { repository = LogManager.CreateRepository(repositoryName); XmlConfigurator.Configure(repository, new FileInfo(configFile)); _Logerror = LogManager.GetLogger(repositoryName, "logerror"); _Loginfo = LogManager.GetLogger(repositoryName, "loginfo"); } public static void Info(string msg) { LogInfo.Info(msg); } public static void Warn(string msg) { LogInfo.Warn(msg); } public static void Error(string msg) { LogError.Error(msg); } public static void Info(object ex) { LogInfo.Info(ex); } public static void Debug(object message, Exception ex) { LogInfo.Debug(message, ex); } public static void Warn(object message, Exception ex) { LogInfo.Warn(message, ex); } public static void Error(object message, Exception ex) { LogError.Error(message, ex); } public static void LogErrorInfo(Exception ex, object message) { LogError.Error(message, ex); } public static void Info(object message, Exception ex) { LogInfo.Info(message, ex); } }}

3、创建Log4Net 配置文件log4net.config

<?xml version="1.0" encoding="utf-8" ?><configuration> <!-- This section contains the log4net configuration settings --> <log4net> <logger name="logerror"> <level value="ALL" /> <appender-ref ref="ErrorAppender" /> </logger> <!--信息日志类--> <logger name="loginfo"> <level value="ALL" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\LogInfo\" /> <param name="AppendToFile" value="true" /> <!--保证多个日志文件后缀名:log.1.htm--> <param name="PreserveLogFileNameExtension" value="true" /> <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数--> <param name="MaxSizeRollBackups" value="-1" /> <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志--> <param name="MaximumFileSize" value="100MB" /> <!--计数类型为1,2,3…--> <!--<param name="CountDirection" value="1"/>--> <!--是否只写到一个文件中--> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" /> <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> <param name="RollingStyle" value="Composite" /> <!-- 信息日志布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="&lt;HR COLOR=blue&gt;%n日志时间:%d [%t] &lt;BR&gt;%n日志级别:%-5p &lt;BR&gt;%n日 志 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;" /> </layout> </appender> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\LogError\" /> <param name="AppendToFile" value="true" /> <!--保证多个日志文件后缀名:log.1.htm--> <param name="PreserveLogFileNameExtension" value="true" /> <!--最多产生的日志文件数,超过则只保留最新的n个。设定值value="-1"为不限文件数--> <param name="MaxSizeRollBackups" value="-1" /> <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志--> <param name="MaximumFileSize" value="100MB" /> <!--是否只写到一个文件中--> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd&quot;.htm&quot;" /> <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> <param name="RollingStyle" value="Composite" /> <!--布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="&lt;HR COLOR=red&gt;%n异常时间:%d [%t] &lt;BR&gt;%n异常级别:%-5p &lt;BR&gt;%n异 常 类:%c [%x] &lt;BR&gt;%n%m &lt;BR&gt;%n &lt;HR Size=1&gt;" /> </layout> </appender> </log4net></configuration>4、最后一步初始化日志配置

 

然后就不用所有地方依赖注入了,可以全局使用。

 

脚本宝典总结

以上是脚本宝典为你收集整理的.net Core 5.0 Log4Net 全局注册全部内容,希望文章能够帮你解决.net Core 5.0 Log4Net 全局注册所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: