在Web.config文件中配置
.net 项目使用CommonLogging:
1、添加必要的程序集:Common.Logging.dll、Common.Logging.Core.dll、Common.Logging.log4net1215.dll、log4net.dll
其中需要特别注意Common.Logging.log4net1215.dll、log4net.dll的版本必须匹配,建议使用VS的NuGet添加引用,添加时有详细的说明。
要注意这句:<arg key="configFile" value="~\log4net.config" />,在Winform中没有加"~\",是正确的,但是在asp.net mvc项目中不添加就会出现错误。
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4Net1215">
<arg key="configType" value="FILE-WATCH" />
<arg key="configFile" value="~\log4net.config" />
</factoryAdapter>
</logging>
</common>
<connectionStrings>
<!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-SLRMSWeb-20171117102856;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-SLRMSWeb-20171117102856.mdf" providerName="System.Data.SqlClient" />-->
<add name="SLRMS" connectionString="" providerName="System.Data.SqlClient" />
</connectionStrings>
添加log4net.config文件,并在log4net.config文件中配置好log的配置
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="ConsoleAppender"/>
<!--<appender-ref ref="infoLog"/>
<appender-ref ref="errorLog"/>-->
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="Log\\" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd'.log'"/>
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="10MB" />
<param name="RollingStyle" value="Composite" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="
#############################################################application startup#############################################################
"/>
<conversionPattern value="%n记录时间:%date 线程名:[%thread] 消息等级:%-5level 记录类:%logger %ndc 记录位置:%location %n[message]%message %exception %newline" />
<param name="Footer" value="
#############################################################application shutdown#############################################################
"/>
</layout>
<fileter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR"/>
<levelMax value="FATAL"/>
</fileter>
</appender>
<!--信息日志-->
<!--<appender name="infoLog" type="log4net.Appender.RollingFileAppender,log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="..\\Log\\" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd-'info.log'"/>
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="10MB" />
<param name="RollingStyle" value="Composite" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>-->
<!--错误日志-->
<!--<appender name="errorLog" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="..\\Log\\" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd-error'.log'"/>
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="10MB" />
<param name="RollingStyle" value="Composite" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>-->
</log4net>