1、升级到log4net的最新版
PM下执行
Install-Package log4net
还是无法解决的,使用下面的方法
2、使用Nlog替换之,详见https://github.com/NLog/NLog/wiki/Tutorial
NLog使用方法比log4net更为简单,配置文件如下,如果成windows程序需将NLog.config自动复制到bin下面
1 <?xml version="1.0" encoding="utf-8" ?> 2 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" 5 autoReload="true" 6 throwExceptions="false" 7 internalLogLevel="Off" internalLogFile="F:\temp\20160907\NLog\log\nlog-internal.log"> 8 9 <!-- optional, add some variables 10 https://github.com/nlog/NLog/wiki/Configuration-file#variables 11 --> 12 <variable name="myvar" value="myvalue"/> 13 14 <!-- 15 See https://github.com/nlog/nlog/wiki/Configuration-file 16 for information on customizing logging rules and outputs. 17 --> 18 <targets> 19 20 <!-- 21 add your targets here 22 See https://github.com/nlog/NLog/wiki/Targets for possible targets. 23 See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers. 24 --> 25 26 <!-- 27 Write events to a file with the date in the filename. 28 <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" 29 layout="${longdate} ${uppercase:${level}} ${message}" /> 30 --> 31 <target name="logfile" xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" /> 32 <target name="console" xsi:type="ColoredConsole" /> 33 </targets> 34 35 <rules> 36 <!-- add your logging rules here --> 37 38 <!-- 39 Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f" 40 <logger name="*" minlevel="Debug" writeTo="f" /> 41 --> 42 <logger name="*" minlevel="Debug" writeTo="logfile" /> 43 <logger name="*" minlevel="Info" writeTo="console" /> 44 </rules> 45 </nlog>
NLog.config
调用代码:
1 Logger logger = LogManager.GetCurrentClassLogger(); 2 3 4 logger.Trace("Sample trace message"); 5 logger.Debug("Sample debug message"); 6 logger.Info("Sample informational message"); 7 logger.Warn("Sample warning message"); 8 logger.Error("Sample error message"); 9 logger.Fatal("Sample fatal error message"); 10 11 12 logger.Info("wilson测试 日志日期:{0}", DateTime.Now);
执行结果,非常漂亮的控制台输出:
时间: 2024-10-25 01:50:25