log4net添加:
Install-Package Log4net
log4net.config配置:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <!--站点日志配置部分--> <log4net> <!--Appender的组件来定义输出介质--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--日志路径--> <param name="File" value="D:App_Loglog"/> <!--日志文件名追加日期--> <param name="DatePattern" value="-yyyyMMdd".txt""/> <!--是否向文件中追加日志--> <param name="AppendToFile" value="true"/> <!--日志文件名是否固定不变--> <param name="StaticLogFileName" value="false"/> <!--【变换的形式】为日期,这种情况下每天只有一个日志--> <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义--> <param name="RollingStyle" value="Date"/> <!--【变换的形式】为日志大小--> <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义--> <!--<RollingStyle value="Size"/>--> <!--每天记录的日志文件个数,与maximumFileSize配合使用--> <!--<MaxSizeRollBackups value="10"/>--> <!--每个日志文件的最大大小,可用的单位:KB|MB|GB,不要使用小数,否则会一直写入当前日志--> <!--<maximumFileSize value="20MB"/>--> <!--layout配置说明: %m (message):输出的日志消息; %n (newline):换行; %d (datetime):输出当前语句运行的时刻; %r (runtime):输出程序从运行到执行到当前语句时消耗的毫秒数; %t (threadid):当前语句所在的线程ID ; %p (priority):日志的当前日志级别; %c (class):当前日志对象的名称; %L:输出语句所在的行号; %F:输出语句所在的文件名; %-10:表示最小长度为10,如果不够,则用空格填充; --> <layout type="log4net.Layout.PatternLayout"> <!--exp:2017-02-07 11:13:18,066 [9] DEBUG TestAutofac.Program (29)- 这是一个Debug测试--> <param name="ConversionPattern" value="%date [%t] %-5p %c (%L)- %m%n"/> </layout> </appender> <!-- 控制台前台显示日志 --> <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> <mapping> <level value="ERROR" /> <foreColor value="Red, HighIntensity" /> </mapping> <mapping> <level value="INFO" /> <foreColor value="Green" /> </mapping> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%n%date{HH:mm:ss,fff} [%-5level] %m" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Info" /> <param name="LevelMax" value="Fatal" /> </filter> </appender> <root> <!--(高)OFF>FATAL>ERROR>WARN>INFO>DEBUG>ALL(低)--> <level value="all"/> <appender-ref ref="ColoredConsoleAppender"/> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
log4net注册:
private static void InitLog4Net() { var logCfg = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config"); log4net.Config.XmlConfigurator.ConfigureAndWatch(logCfg); }
log4net测试:
static void Main(string[] args) { InitLog4Net();//注册 var logger = LogManager.GetLogger(typeof(Program)); logger.Info("消息"); logger.Warn("警告"); logger.Error("异常"); logger.Fatal("错误"); logger.Debug("这是一个Debug测试。"); LogManager.GetLogger("ERROR").Error("tt"); Console.ReadLine(); }