脚本宝典收集整理的这篇文章主要介绍了.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".htm"" /> <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> <param name="RollingStyle" value="Composite" /> <!-- 信息日志布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p <BR>%n日 志 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </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".htm"" /> <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> <param name="RollingStyle" value="Composite" /> <!--布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p <BR>%n异 常 类:%c [%x] <BR>%n%m <BR>%n <HR Size=1>" /> </layout> </appender> </log4net></configuration>4、最后一步初始化日志配置
然后就不用所有地方依赖注入了,可以全局使用。
以上是脚本宝典为你收集整理的.net Core 5.0 Log4Net 全局注册全部内容,希望文章能够帮你解决.net Core 5.0 Log4Net 全局注册所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。