.net 使用log4net日志功能


(一)在  .net core 中使用

   新建一个配置文件,输入以下代码

<?xml version="1.0" encoding="utf-8"?>


  
    
"log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> "InfoLog"> "INFO"/> ref ref="InfoLogAppender"/> "ErrorLog"> "INFO"/> ref ref="ErrorLogAppender"/> "InfoLogAppender" type="log4net.Appender.RollingFileAppender"> "File" value="D:/info/"/> "log4net.Appender.FileAppender+MinimalLock"/> "AppendToFile" value="true"/> "MaxSizeRollBackups" value="10"/> "StaticLogFileName" value="false"/> "DatePattern" value="yyyy-MM-dd".log""/> "RollingStyle" value="Date"/> "log4net.Layout.PatternLayout"> "ConversionPattern" value="%d [%t] %-5p %m%n"/> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="INFO" /> "LevelMax" value="INFO" /> "ErrorLogAppender" type="log4net.Appender.RollingFileAppender"> "File" value="D:/error/"/> "log4net.Appender.FileAppender+MinimalLock"/> "AppendToFile" value="true"/> "MaxSizeRollBackups" value="10"/> "StaticLogFileName" value="false"/> "DatePattern" value="yyyy-MM-dd".log""/> "RollingStyle" value="Date"/> "log4net.Layout.PatternLayout"> "ConversionPattern" value="%d [%t] %-5p %m%n"/> "log4net.Filter.LevelRangeFilter"> "LevelMin" value="ERROR" /> "LevelMax" value="ERROR" /> "all"/> ref ref="ErrorLogAppender"/> ref ref="InfoLogAppender" />

在startup.cs 中进行配置

 public static ILoggerRepository repository { get; set; }
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
            repository = LogManager.CreateRepository(this.GetType().FullName);
            //log4Net配置文件的路径
            XmlConfigurator.Configure(repository, new FileInfo("Config/log4net.config"));
            BasicConfigurator.Configure(repository);


        }

在需要使用的地方进行调用

log4net.ILog logger = log4net.LogManager.GetLogger(Startup.repository.Name, typeof(LogHelper));

 logger.Info("123");

(二)在.net framework中使用

将上面的配置信息添加到配置文件中。

如果是非web项目需要在AssemblyInfo.cs 文件中添加  [assembly: log4net.Config.XmlConfigurator(Watch = true)] 

然后再需要用到的地方调用 

log4net.ILog logger = log4net.LogManager.GetLogger("InfoLog");

logger.Info("123");