一,.NET FramWork 4.7.2
1.NuGet包下载log4.net

2.添加配置文件配置(configSections必须放在configuration下第一个节点)

- <configSections>
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
- </configSections>
-
- <log4net>
- <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
- <!-- Set root logger level to ERROR and its appenders -->
- <root>
- <level value="DEBUG" />
- <appender-ref ref="RollingFileTracer" />
- </root>
- <!-- Print only messages of level DEBUG or above in the packages -->
- <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net">
- <!--存储到项目的bin/Debug/下的地址-->
- <param name="File" value="App_Data/Log/" />
- <param name="AppendToFile" value="true" />
- <param name="RollingStyle" value="Composite" />
- <param name="MaxSizeRollBackups" value="10" />
- <param name="MaximumFileSize" value="1MB" />
- <!--文件名-->
- <param name="DatePattern" value=""Log_"yyyyMMdd".txt"" />
- <param name="StaticLogFileName" value="false" />
- <layout type="log4net.Layout.PatternLayout,log4net">
- <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
- </layout>
- </appender>
- </log4net>
3.程序调用

- private static ILog log = LogManager.GetLogger(typeof(Program));//typeof放当前类
- static void Main(string[] args)
- {
- // 这段代码要在程序运行的入口进行配置
- log4net.Config.XmlConfigurator.Configure();//需要配置这段代码,log4才能生效
-
- //log4net的简单使用
- log.Error("错误", new Exception("发生了一个异常"));//错误
- log.Fatal("严重错误", new Exception("发生了一个致命错误"));//严重错误
- log.Info("信息"); //记录一般信息
- log.Debug("调试信息");//记录调试信息
- log.Warn("警告");//记录警告信息
-
- }


二,ASP.NET Core MVC (net core 3.1)
1.项目NuGet下载Microsoft.Extensions.Logging.Log4Net.AspNetCore

2.添加log4net配置文件


log4net.config内容(下面可复制)
- "1.0" encoding="utf-8" ?>
-
-
- <log4net>
-
- <root>
-
- <level value="ERROR"/>
- <level value="WARN"/>
- <level value="INFO"/>
- <level value="DEBUG"/>
- <appender-ref ref="ErrorLog" />
- <appender-ref ref="WarnLog" />
- <appender-ref ref="InfoLog" />
- <appender-ref ref="DebugLog" />
- root>
-
- <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
-
- <param name="File" value="DataLog/File"/>
-
- <param name="DatePattern" value="/yyyy-MM-dd/"Error.log""/>
-
- <appendToFile value="true"/>
-
- <rollingStyle value="Composite"/>
-
- <staticLogFileName value="false"/>
-
- <maximumFileSize value="200MB"/>
-
- <maxSizeRollBackups value="-1"/>
-
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
- layout>
- <filter type="log4net.Filter.LevelRangeFilter">
- <param name="LevelMin" value="ERROR" />
- <param name="LevelMax" value="ERROR" />
- filter>
- appender>
-
-
- <appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
-
- <param name="File" value="DataLog/File"/>
-
- <param name="DatePattern" value="/yyyy-MM-dd/"Warn.log""/>
-
- <appendToFile value="true"/>
-
- <rollingStyle value="Composite"/>
-
- <staticLogFileName value="false"/>
-
- <maximumFileSize value="200MB"/>
-
- <maxSizeRollBackups value="-1"/>
-
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
- layout>
- <filter type="log4net.Filter.LevelRangeFilter">
- <param name="LevelMin" value="WARN" />
- <param name="LevelMax" value="WARN" />
- filter>
- appender>
-
-
- <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
-
- <param name="File" value="DataLog/File"/>
-
- <param name="DatePattern" value="/yyyy-MM-dd/"Info.log""/>
-
- <appendToFile value="true"/>
-
- <rollingStyle value="Composite"/>
-
- <staticLogFileName value="false"/>
-
- <maximumFileSize value="200MB"/>
-
- <maxSizeRollBackups value="-1"/>
-
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
- layout>
- <filter type="log4net.Filter.LevelRangeFilter">
- <param name="LevelMin" value="INFO" />
- <param name="LevelMax" value="INFO" />
- filter>
- appender>
-
-
- <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
-
- <param name="File" value="DataLog/File"/>
-
- <param name="DatePattern" value="/yyyy-MM-dd/"Debug.log""/>
-
- <appendToFile value="true"/>
-
- <rollingStyle value="Composite"/>
-
- <staticLogFileName value="false"/>
-
- <maximumFileSize value="200MB"/>
-
- <maxSizeRollBackups value="-1"/>
-
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
- layout>
- <filter type="log4net.Filter.LevelRangeFilter">
- <param name="LevelMin" value="DEBUG" />
- <param name="LevelMax" value="DEBUG" />
- filter>
- appender>
- log4net>
3.Startup类里更改一下Configure方法,添加参数 Microsoft.Extensions.Logging.ILoggerFactory loggerFactory,在方法体内加上loggerFactory.AddLog4Net()
//如果你的配置文件放在某一个文件夹下loggerFactory.AddLog4Net("ConfigFile/log4net.Config")
//如直接放项目下的就直接啥也不用填,会自己获取

-
- Microsoft.Extensions.Logging.ILoggerFactory loggerFactory
-
- loggerFactory.AddLog4Net();//指向日志配置文件
4.Program类添加一段代码(在下面可复制)
//如果你的配置文件放在某一个文件夹下LogBuilder.AddLog4Net("ConfigFile/log4net.Config")
//如直接放项目下的就直接啥也不用填,会自己获取

- .ConfigureLogging(LogBuilder =>
- {
- LogBuilder.AddLog4Net();
- })
5.调用
